【发布时间】:2014-05-27 06:24:28
【问题描述】:
我想知道是否可以设置任何编译器标志来处理这种情况。假设我有以下文件:
啊.h
class a
{
public:
int lala(void);
int lala2(void);
};
a.cpp
#include "a.h"
int a::lala(void)
{
return 5;
}
main.cpp
#include <iostream>
#include "a.h"
int main()
{
a thi;
std::cout << thi.lala() << std::endl;
return 0;
}
这里的问题是函数 lala2 没有实现,虽然它没有使用,但甚至没有发出警告。
所以我不知道它是如何导致这种情况的,但基本上在大部分代码中都有一个未实现的功能。我只是想知道是否有任何编译器标志可以让我们选择它?使用 g++ -pedantic -Wall 是不够的。
【问题讨论】:
-
如果您尝试使用此方法,您可能会收到链接器错误。
-
@rhughes,正确,但我想得到一个编译器警告,以便我可以使用这个函数。
-
编译器看不到函数是不需要也没有定义的。这只能在链接阶段完成。
标签: c++ compiler-warnings