为什么我不能先定义 main(),然后再定义它调用的函数?
如果我将 main 放在源文件的顶部并调用一些自定义函数,它会告诉我找不到这些函数,但如果我将 main 放在源文件的底部,它将起作用。
为什么?是不是因为编译器从上到下解析程序并在main的定义处中断?
If I put main on the top of the source file and invoke some custom functions, it will tell me that those functions are not found, but if I put main on the bottom of the source file, it will work.
Why? Is it because the compiler parses the program from top to bottom and breaks at the definition of main?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
和主线没有关系。 C++ 编译器从上到下工作,就这样。
您引用的任何内容都需要事先声明。变量也是如此。在你的情况下,你可以这样做
It has nothing to do with main. C++ compilers work top to bottom, period.
Anything that you reference needs to be declared previously. The same goes for variables. In your case, you could do
基本上,是的。您必须先定义/声明一个函数,然后才能使用它。
Basically, yes. You have to define/declare a function before you can use it.
您应该将函数签名放入 main() 之前包含的头文件中。
You should be putting your functions signature into header files that are included before main().
如果 main 在自定义函数之前声明,则在解析 main 时,它还没有“看到”它们的任何定义。
If main is declared before your custom functions, by the time main gets parsed it hasn't 'seen' any definitions for them.