小编mis*_*nic的帖子

没有括号的C++函数调用

我在编程时忘记了函数调用后忘记括号,但是我只收到警告,我忽略了:

main.cpp:7:15: warning: expression result unused [-Wunused-value]
                if (i == 0) clearDisplay;
                            ^~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

刚做的时候也会发生同样的事情

int i = 0;
i;
Run Code Online (Sandbox Code Playgroud)

为什么这不是编译器错误?

#include <iostream>

void clearDisplay(void);

int main(void){
    for(int i = 0; i < 2; i++){
        if (i == 0) clearDisplay;
    }
}

void clearDisplay(void){
    std::cout << "test" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

编辑:与没有括号的g ++"调用"函数相反(不是f()而是f;).为什么总是返回1?我不问为什么它被隐式浇铸为数字,但为什么像它确实编译器不提醒我关于if(i=0)if(i==0)

c++

2
推荐指数
2
解决办法
3264
查看次数

标签 统计

c++ ×1