从另一个文件在C ++中访问外部变量(Access extern variable in C++ f

2019-06-27 20:36发布

我在cpp文件,在那里我将值分配给它的一个全局变量。 现在,为了能在另一个CPP文件中使用它,我声明它extern此文件具有使用它,所以我在全球做这个多种功能。 现在,这个变量的值可以在所述功能中的一个,而不是在另一个访问。 因为我浪费了4天,玩,除了在头文件中使用它的任何建议,将是一件好事。

Answer 1:

对不起,我忽略了答案提示比使用头文件以外的任何请求。 这是什么标头,当你正确地使用它们...请仔细阅读:

global.h

#ifndef MY_GLOBALS_H
#define MY_GLOBALS_H

// This is a declaration of your variable, which tells the linker this value
// is found elsewhere.  Anyone who wishes to use it must include global.h,
// either directly or indirectly.
extern int myglobalint;

#endif

global.cpp

#include "global.h"

// This is the definition of your variable.  It can only happen in one place.
// You must include global.h so that the compiler matches it to the correct
// one, and doesn't implicitly convert it to static.
int myglobalint = 0;

user.cpp

// Anyone who uses the global value must include the appropriate header.
#include "global.h"

void SomeFunction()
{
    // Now you can access the variable.
    int temp = myglobalint;
}

现在,当你编译和链接你的项目,你必须:

  1. 编译每个源(的.cpp)文件成目标文件;
  2. 链接所有对象文件来创建可执行文件/库/不管。

用我上面已经给出了语法,你应该既没有编制,也没有链接错误。



文章来源: Access extern variable in C++ from another file