以下失败并显示错误 prog.cpp:5:13: error: invalid conversion from ‘char’ to ‘const char*’
int main()
{
char d = 'd';
std::string y("Hello worl");
y.append(d); // Line 5 - this fails
std::cout << y;
return 0;
}
我还尝试了以下方法,它们可以编译,但在运行时表现为随机的:
int main()
{
char d[1] = { 'd' };
std::string y("Hello worl");
y.append(d);
std::cout << y;
return 0;
}
对不起,这个愚蠢的问题,但我在Google周围搜索,我看到的只是“ char array to char ptr”,“ char ptr to char array”等。
编译器错误是的。我忘记了什么错误,但这是合理的。
—
drowneath
您可以在下面找到更好的答案,但是可以使第二个示例像char d [2] = {'d',0};那样工作。或者只是char d [2] =“ d”; 基本上,您需要一个0来终止传递给追加的c样式字符串
—
sbk