问题描述
考虑这种情况:
File1.cpp :
double dir = M_PI/2;
hFile1.h :
void printdir () {
cout << dir;
}
Main.cpp :
#include "hFile1.h"
int main () {
printdir();
}
这显然不起作用,因为hFile1.h将引发错误:“使用未声明的标识符'dir'”。在此示例中,我希望能够访问和使用hFile1.h中定义的 dir 变量。这可能吗?
注意:我已经基于与该主题相似的帖子尝试使用 extern ,即使我完全按照他们的意愿去做,它也没有用。代码:
File1.cpp :
extern double dir = M_PI/2;
hFile1.h :
extern double dir;
void printdir () {
cout << dir;
}
Main.cpp :
#include "hFile1.h"
int main () {
printdir();
}
解决方法
您需要在hFile1.h
中使用关键字“ extern”,如下所示。我测试了,它有效。
extern double dir;
void printdir () {
cout << dir;
}