C++ 如何从.h文件中的.cpp文件访问变量
考虑以下情况: File1.cpp: hFile1.h: 这显然不起作用,因为hFile1.h将抛出一个错误:“使用未声明的标识符'dir'”。在本例中,我希望能够访问并使用hFile1.h中定义的dir变量。这可能吗 注意:我已经尝试过使用extern了,这是基于关于这个主题的类似帖子,但它不起作用,即使我完全按照他们所做的做了。代码: File1.cpp: hFile1.h: 您需要在C++ 如何从.h文件中的.cpp文件访问变量,c++,variables,header-files,C++,Variables,Header Files,考虑以下情况: File1.cpp: hFile1.h: 这显然不起作用,因为hFile1.h将抛出一个错误:“使用未声明的标识符'dir'”。在本例中,我希望能够访问并使用hFile1.h中定义的dir变量。这可能吗 注意:我已经尝试过使用extern了,这是基于关于这个主题的类似帖子,但它不起作用,即使我完全按照他们所做的做了。代码: File1.cpp: hFile1.h: 您需要在hFile1.h中使用关键字“extern”,如下所示。我测试过了,它成功了 extern double d
hFile1.h
中使用关键字“extern”,如下所示。我测试过了,它成功了
extern double dir;
void printdir () {
cout << dir;
}
extern双目录;
void printdir(){
不能您需要在hFile1.h
中使用关键字“extern”,如下所示。我测试过,它有效
extern double dir;
void printdir () {
cout << dir;
}
extern双目录;
void printdir(){
不能#包括“hFile1.h”#包括“File1.cpp”
@asmmo include.cpp
文件通常是一个非常糟糕的主意。我不认为你可以包含.cpp文件。你可以吗?@HyperTextMarkupMan#include
只是一个文件内容的愚蠢复制和粘贴,你可以包含任何文本文件。但这并不意味着你应该这样做。@HyperTextMarkupMan我已经尝试过使用extern…然后它就不起作用了
发布该代码。您只需要在hFile1.h
或main.cpp
中声明一个extern double dir;
包含“hFile1.h”#包含“File1.cpp”
@asmmo include.cpp
文件通常是一个非常糟糕的主意。我不认为你可以包含.cpp文件。你可以吗?@HyperTextMarkupMan#include
只是一个文件内容的愚蠢复制和粘贴,你可以包含任何文本文件。但这并不意味着你应该这样做。@HyperTextMarkupMan我已经尝试过使用extern…然后它就不起作用了
发布那个代码。你只需要在hFile1.h
或main.cpp
中声明一个extern-double-dir;
。我不明白的是在这个场景中extern类型在做什么。@HyperTextMarkupMan它是用来标记dir
有外部链接的。有关详细信息。什么我不明白extern类型在这个场景中做了什么。@HyperTextMarkupMan标记dir
具有外部链接。有关详细信息,请参阅。
#include "hFile1.h"
int main () {
printdir();
}
extern double dir = M_PI/2;
extern double dir;
void printdir () {
cout << dir;
}
#include "hFile1.h"
int main () {
printdir();
}
extern double dir;
void printdir () {
cout << dir;
}