如果我将 main 放在源文件的顶部并调用一些自定义函数,它会告诉我找不到这些函数,但如果我将 main 放在源文件的底部,它就会起作用。
为什么?是编译器从上到下解析,在main定义处中断?
最佳答案
与main无关。 C++ 编译器自上而下地工作。
您引用的任何内容都需要事先声明。变量也是如此。在你的情况下,你可以做
void foo(); // <-- Forward declaration, aka prototype
int main() {
foo();
}
void foo() {
// Here is your foo implementation.
}
关于main 的 C++ 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3410218/