-2

我有二维字符串数组,所以这里有一个例子:

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=需要 a 的重载char

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

这导致位置处的字符串0,0被设置为仅包含A.

但是,没有从 astd::string到 a 的直接转换char,正如您在这一行中尝试做的那样:

char temp = arr[0][0];

相反,如果您希望字符串的第一个字符位于 position 0,0,则必须执行以下操作:

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

首先arr[0][0]访问位置处的字符串,0,0然后访问该字符串[0]的第一个字符。

于 2013-03-27T12:59:18.797 回答