【发布时间】:2019-08-13 23:01:49
【问题描述】:
所以我试图连接简单的字符串,然后做一个最后的句子。
int main()
{
string I ("I");
string Love ("Love");
string STL ("STL,");
string Str ("String.");
string fullSentence = '\0';
// Concatenate
fullSentence = I + " " + Love + " " + STL + " " + Str;
cout << fullSentence;
return 0;
}
在这里,我不想让“fullSentence”什么都没有,所以我分配了 null,它给了我一个错误。没有确定的错误消息,除了以下我根本不明白的......:
executive_4.exe 中的 0x51C3F6E0 (ucrtbased.dll) 引发异常:0xC0000005:访问冲突读取位置 0x00000000。发生了
只要我删除“\0”,它就可以正常工作。为什么会这样?
【问题讨论】:
-
不清楚你想用
string fullSentence = '\0';完成什么。如果你想要一个空字符串,只需使用string fullSentence;。 -
@interjay 是的,这就是我所做的,但我想知道为什么 '\0' 不起作用。