正如标题所说,我知道是什么导致了这个错误,但我想知道为什么编译器会在这种情况下给出它。
例如:
主程序
void test(){
test1();
}
void test1(){
...
}
会给出一个隐式声明警告,因为编译器会在它读取它的声明之前到达对 test1() 的调用,我可以看到这个明显的问题(不知道返回类型等),但是为什么编译器不能做一个简单的通过获取所有函数声明,然后编译删除这些错误的代码?它看起来很简单,我不相信我在其他语言中看到过类似的警告。
有谁知道在我忽略的这种情况下此警告是否有特定目的?