如何从.h文件中的.cpp文件访问变量

问题描述

考虑这种情况:

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;
}