我有二维字符串数组,所以这是一个例子:
string arr[26][4];
arr[0][0] = 'A';
char t1 = arr[0][0];
错误:无法在初始化|
中将'std :: string'转换为'char'最好的方法是什么?
答案 0 :(得分:3)
您已声明arr
这样:
std::string arr[N][M];
以下情况有效,因为std::string
的{{1}}重载需要operator=
:
char
这会导致位置arr[0][0] = 'A';
的字符串设置为仅包含0,0
。
但是,正如您在此行中尝试的那样,没有从A
到std::string
的直接转换:
char
相反,如果您希望字符串的第一个字符位于char temp = arr[0][0];
,则必须执行以下操作:
0,0
首先char temp = arr[0][0][0];
访问位置arr[0][0]
的字符串,然后以下0,0
访问该字符串的第一个字符。