跨文件的C ++引用变量

时间:2010-06-20 18:30:17

标签: c++ variables

我有一个项目,我需要引用另一个CPP文件中声明的变量,这可能吗?

若然,怎么样?

2 个答案:

答案 0 :(得分:7)

如果您将其声明为全局(顶级,高于任何函数定义)并使用“extern”,则可能在其他文件中使编译器知道它。

// Main.cpp
#include <...>

int myNum;

int main(int argc, char** argv)
{
   // MAGIC BE HERE
   return 0;
}

// Second.cpp
#include <...>

extern int myNum;

int f()
{
   return myNum * 2;
}

extern阻止编译器在另一个文件中分配变量时再次分配内存。

答案 1 :(得分:2)

创建一个.h文件,声明所需的变量为extern(类似extern int X;),然后将其包含在需要该变量的任何文件中。在您正在链接的其中一个.cpp文件中,在没有extern的情况下声明它。