文字列の 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]その文字列の最初の文字にアクセスします。