文字列の 2D 配列があるので、例を次に示します。
string arr[26][4];
arr[0][0] = 'A';
char t1 = arr[0][0];
エラー: 初期化で 'std::string' を 'char' に変換できません |
これに最適な方法は何ですか?
あなたは次の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]
その文字列の最初の文字にアクセスします。