gpt4 book ai didi

c++ - g++ 编译器没有为未定义的方法生成错误/警告

转载 作者:行者123 更新时间:2023-12-01 14:43:48 25 4
gpt4 key购买 nike

我有一个具有声明方法但未在任何地方定义/使用的类。我希望这段代码会产生链接错误,但事实并非如此。看起来编译器足够聪明,可以删除死代码。哪个默认优化正在执行此操作?如何显式禁用它以生成错误?


#include <iostream>

using namespace std;

class Base{
public:
int x;
string name;
void set(int val){ x = val;};
int get(){ return x;}

void Init();
};

int main() {
Base base;
base.set(10);
cout << base.get() << endl;

return 0;
}

编辑1 :这里 Init() 函数没有定义,也没有在任何地方使用。所以,我希望编译器会提示这个没有定义。但看不到任何错误/警告。

提前致谢。

最佳答案

通常,链接器只会对使用的 undefined symbol 产生错误。因为你从来没有调用 Init没有错误。

关于c++ - g++ 编译器没有为未定义的方法生成错误/警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59404822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com