したがって、私の配列は次のようになります。
string links[26][4];
links[0][0] = 'A';
links[0][1] = 'WOL-LA-CHEE';
そして、印刷しようとすると、次のように「WOL-LA-CHEE」としましょう。
cout << リンク[0][1]
私の出力は次のようになります。
え
私は何を間違っていますか?
テキストを一重引用符で囲んだ場合、それは文字リテラルを示します。std::string
fromchar
とのコピー コンストラクターがあるためconst char *
、これは 1 つの文字に対しては機能しますが、複数の文字に対して行うと思われることは行いません。おそらく、文字列を二重引用符で囲みたいでしょう:
links[0][1] = "WOL-LA-CHEE";
文字列を二重引用符で囲みます。"WOL-LA-CHEE"
. 単一引用符は文字定数を宣言します。この場合、その値は指定されていません。
'WOL-LA-CHEE'
複数文字リテラルです。実装定義の値を持ち、int
. 代わりに文字列リテラルが必要なようです:
links[0][0] = "A";
links[0][1] = "WOL-LA-CHEE";
これは通常の文字リテラルで type があるため、割り当て'A'
は以前は機能していましたchar
。std::string
のオーバーロードがoperator=
ありchar
ます。