我正在尝试了解“extern”的作用。我有一个简单的程序,在 main 的头文件中,用 extern 声明了一个变量。主要是定义该变量。然后 Main 调用另一个类文件中的方法(包括 main 的标头,因此它应该可以访问外部变量),以便打印该变量的值。但我得到一个编译器错误:“未解析的外部符号“int myglobal”。有人可以帮忙吗?谢谢!
如果我在 source.cpp 文件中删除对这个变量的引用,代码运行良好。
源码.cpp
#include "main.h"
#include <iostream>
void printGlobal()
{
std::cout << "Global: " << myglobal;
}
源码.h
void printGlobal();
主文件
extern int myglobal;
主文件
#include "main.h"
#include "Source.h"
int main()
{
int myglobal = 5;
printGlobal();
system("pause");
return 0;
}