main 的 C++ 位置

标签 c++

如果我将 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/

相关文章:

c++ - 后备列表与低碎片堆

c++ - Qt grabWindow 坐标从 GetCursorPos 和 GetWindowRect 转移

c++ - 将派生类分配给基类

c++ - 临时对象是如何存储和处理的?

c++ - 从不同大小的整数获取到指针的警告转换

c++ - If/Else 语句返回

c++ - 如何将元素插入 std::unordered_map<int, vector<Object*>>

c++ - i = i++ 的行为真的没有定义吗?

c++ - 模板类的继承问题

c# - 使用大量 if 语句的缺点