字符串流错误不一致

Inconsistent stringstream errors

本文关键字:不一致 错误 字符串      更新时间:2023-10-16

我对字符串流有奇怪的行为。似乎如果我创建两个字符串流,其中一个将正确写入,另一个将引发错误。(测试是字符*)

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

这为最后一行提供了消息"error:类型为'int'和'const-char*'的无效操作数到二进制'operator<<'"。

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

这将为写入d.的两行提供消息"error:类型为'int'和'const-char*'的无效操作数到二进制'operator<<'"。

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

谢谢!

当变量d已经声明,所以它有另一个类型时,我也有同样的错误。