【发布时间】:2011-02-03 06:09:55
【问题描述】:
我有一些代码,以最小的完整形式展示了问题(在提出问题时做一个好公民),基本上可以归结为以下内容:
#include <string>
#include <iostream>
int main (void) {
int x = 11;
std::string s = "Value was: " + x;
std::cout << "[" << s << "]" << std::endl;
return 0;
}
我期待它输出
[Value was: 11]
相反,我得到的只是:
[]
这是为什么呢?为什么我不能输出我的字符串?字符串是否为空? cout 是否以某种方式损坏了?我是不是疯了?
【问题讨论】:
-
顺便说一句,您需要包含
<string>才能以合规的方式“工作”。 -
好点,这怎么编译?
-
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3编译时没有错误 - 也许只是宽容。在任何情况下,添加字符串都无济于事,所以我将它添加到问题中,这样我们就更洁净了。但是,Xeo 打败了我,所以谢谢 :-)