这是一个小程序:
#include <iostream>
using namespace std;
int main() {
f();
system("pause");
}
void f() {
static int x = 20 ;
class tester {
public :
tester() {
cout << x ;
}
} x1;
}
我遇到了这个错误:错误 C3861:未找到标识符"f"
如果我把函数f
放在main函数上面,我就能得到想要的输出结果。
为什么会这样呢?我被告知程序执行从main
函数开始。按照这个逻辑,第一种情况下代码也应该运行。
编译器是如何开始读取程序的?