C++ 使用 += 语句编译 cout 时遇到问题

Posted

技术标签:

【中文标题】C++ 使用 += 语句编译 cout 时遇到问题【英文标题】:C++ Trouble compiling cout with a += statement 【发布时间】:2017-05-16 06:22:38 【问题描述】:

我正在编写这个初学者程序:

我一直在解决这个问题:

如果我尝试运行 cout

prog.cpp:6:35: 错误:'int' 和 '' 类型的无效操作数到二进制 'operator

当我尝试类似 cout 时,cout 函数工作正常

我做错了什么?

【问题讨论】:

把两个c++ standard input and output 请不要这样写代码。 int x, y, z = 6; 仅将 z 设置为 6。另外两个未初始化,使用它们会导致未定义的行为。 好的,谢谢,我知道我做错了什么 发布问题时,请将代码和错误消息作为文本放入问题中。如果这个错误不是微不足道的,那么没有人会为了尝试为您构建它而重新输入您的代码。 【参考方案1】:

运算符<< 具有lower precedence 比*= 等。尝试将表达式放在括号中,如下所示:

cout << (x *= y += z -= 4) << endl;

【讨论】:

以上是关于C++ 使用 += 语句编译 cout 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

在 PostgreSQL 的案例语句中使用聚合和布尔值时遇到问题

javac 及 java命令的使用问题(错误或无法加载主类)

使用C#书写SQLite数据库增删改查语句(以及插入byte[]时遇到的问题总结)

使用多个连接将行连接成字符串时遇到问题

成员函数的 C++ GDB 断点

JAVA:使用 DecimalFormat 时遇到问题?需要 30.40 而不是 30.4 [重复]