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

How to access a variable from .cpp file in a .h file

考虑这种情况:

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