在一个语句中没有多个cout的错误/警告

问题描述 投票:-6回答:3

不小心我在一个声明中有多个cout。

cout<<5<<cout<<6;

它显示了一些垃圾,我意识到我的错误。但为什么在这种情况下没有错误或警告?我正在使用带有mingw for windows的codeblocks IDE。

编辑:完整的代码是

#include <iostream>

using namespace std;

int main(void)
{
    cout<<5<<cout<<6;
    return(0);
}

构建消息是

mingw32-g ++。exe -Os -pedantic -Wextra -Wall -c“C:\ Study Materials \ C ++ \ CPP Programs MP Compiled \ inputOutput \ q1.cpp”-o“C:\ Study Materials \ C ++ \ CPP Programs MP Compiled \ inputOutput \ q1.o“mingw32-g ++。exe -o”C:\ Study Materials \ C ++ \ CPP Programs MP Compiled \ inputOutput \ q1.exe“”C:\ Study Materials \ C ++ \ CPP Programs MP Compiled \ inputOutput \ q1.o“ - std = gnu99进程终止,状态为0(0分钟,2秒(秒))0错误,0警告(0分钟,2秒(秒))

c++ mingw codeblocks cout
3个回答
2
投票

为什么编译器会警告你一些完全合法的东西?您正在指示程序输出cout的内容,这是合法的,并且将起作用。

我不确定operator <<是如何为cout定义的,但打印它的地址将是我的期望,所以像0x489944(或更长的)似乎恰到好处。

在它周围的5和6,你的输出似乎是正确的:5 + 0x489944 + 6 = 50x4899446


0
投票

也许你没有看到任何错误


0
投票

cout在C中是完全合法的。这意味着编译器不会告诉你任何错误,因为没有错!

这意味着不会显示错误。

© www.soinside.com 2019 - 2024. All rights reserved.