我以前犯过这样的错误,而且不知道原因是什么,
我会这样写:
#include <string.h>
using namespace std;
int main()
{
string tmp = "hello" + " " + "world!";
return 0;
}
这样写是不对的,因为“helllo”, ” ” , “world!”都是literals,字符串常量相加是无意义的。
这样的表达方式是正确的:
#include <string.h>
using namespace std;
int main()
{
string s1 = " ";
string tmp = s1 + "hello" + " " + "world!";
return 0;
}
也就是说,问题出现在了那个”=”的定义上。