首页 > 解决方案 > 如何从 .h 文件中的 .cpp 文件访问变量

问题描述

考虑这种情况:

文件 1.cpp

double dir = M_PI/2;

hFile1.h

void printdir () {
cout << dir;
}

主要.cpp

#include "hFile1.h"
int main () {
printdir();
}

这显然不起作用,因为 hFile1.h 会抛出错误:“使用未声明的标识符 'dir'”。在此示例中,我希望能够访问和使用 hFile1.h 中定义的dir变量。这可能吗?

注意:我已经尝试使用基于该主题的类似帖子的extern并且它不起作用,即使在我完全按照他们所做的事情之后也是如此。代码:

文件 1.cpp

extern double dir = M_PI/2;

hFile1.h

extern double dir;
void printdir () {
cout << dir;
}

主要.cpp

#include "hFile1.h"
int main () {
printdir();
}

标签: c++variablesheader-files

解决方案


您需要在hFile1.h下面使用关键字“extern”。我测试了,它有效。

extern double dir;

void printdir () {
    cout << dir;
}

推荐阅读