我在使用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声明的顺序不会改变任何东西。任何人都知道为什么会发生这种情况?
谢谢!
答案 0 :(得分:2)
当变量d
已经被声明时,我有同样的错误,因此它有另一种类型。