字符串流错误不一致

时间:2012-03-07 17:42:37

标签: c++ compiler-errors stringstream

我在使用stringstreams时有奇怪的行为。似乎如果我创建两个字符串流,一个将正确写入,一个将引发错误。 (测试是char *)

ostringstream s;
ostringstream d;
s<<test<<endl;
d<<test<<endl;

这给出了消息“错误:类型'int'的无效操作数和'const char *'到二进制'运算符&lt;&lt;'&lt;'”的最后一行。

ostringstream s;
ostringstream d;
d<<test<<endl;
d<<test<<endl;

这给出了消息“错误:类型'int'的无效操作数和'const char *'到二进制'运算符&lt;&lt;'”,用于写入d的两行。

两个流应该是相同的,所以我不知道为什么d不起作用。切换s和d声明的顺序不会改变任何东西。任何人都知道为什么会发生这种情况?

谢谢!

1 个答案:

答案 0 :(得分:2)

当变量d已经被声明时,我有同样的错误,因此它有另一种类型。