-2

文字列の 2D 配列があるので、例を次に示します。

string arr[26][4];
arr[0][0] = 'A';
char t1 = arr[0][0];

エラー: 初期化で 'std::string' を 'char' に変換できません |

これに最適な方法は何ですか?

4

1 に答える 1

3

あなたは次のarrように宣言しました:

std::string arr[N][M];

を受け取るオーバーロードがあるstd::stringため、次のように動作します。operator=char

arr[0][0] = 'A';

これにより、 position の文字列0,0が のみを含むように設定されますA

ただし、次の行で行おうとしているため、 a から astd::stringへの直接変換はありません。char

char temp = arr[0][0];

代わりに、文字列の最初の文字を position0,0にしたい場合は、次のようにする必要があります。

char temp = arr[0][0][0];

最初arr[0][0]に position の文字列にアクセスし0,0、次に[0]その文字列の最初の文字にアクセスします。

于 2013-03-27T12:59:18.797 に答える