作为我在stackoverflow中上一个问题的继续:
Getting LINK error : Extern in C++. How to access the value of a variable which is modified in File A.CPP in another file File B.CPP
在我的C++代码中,我想在文件“B”中使用变量“VarX”,而实际上在另一个文件“A”中对其进行了修改。
所以我看了一下下面的链接并使用了extern概念。
How do I use extern to share variables between source files?
我的情况如下:
File1.h
extern unsigned int VarX;
File2.cpp
#include File1.h
VarX = 101;
File3.cpp
#include File1.h
unsigned int temp = VarX;
IMP注意:在头文件File1.h中,除了Extern定义之外,还有许多其他结构定义以及其他定义。
有人可以帮我吗我应如何读取另一个文件File3.cpp中File2.cpp中修改的VarX值。
最佳答案
您必须在全局范围内定义VarX
,我假设您现在不这样做,因为否则它将无法编译:
//File2.cpp
#include "File1.h"
unsigned int VarX = 101; //this has to be outside any code block or namespace
//or class...