1

stackoverflow での以前の質問の続きとして: Getting LINK error : Extern in C++. 別のファイルでファイル A.CPP で変更された変数の値にアクセスする方法 ファイル B.CPP で 私の C++ コード 別のファイルで実際に変更されたファイル「B」で変数「VarX」を利用したいファイル「A」。そこで、次のリンクを見て、 extern の概念を使用しました。

extern を使用してソース ファイル間で変数を共有するにはどうすればよいですか?

エラー LNK2001: 未解決の外部シンボル "unsigned int VarX" (?VarX@@3IA)

私のシナリオは次のとおりです。

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 定義とは別に、他の多くの構造体定義と他の多くの rdefinitions があります。

誰かがこれで私を助けることができますか?File2.cpp で変更された VarX の値を別のファイル File3.cpp で読み取るにはどうすればよいですか。

4

2 に答える 2

2

次の内容のFile1.cppが必要です。

unsigned int VarX = 0;
于 2012-04-24T13:54:01.627 に答える
2

グローバルスコープで定義するVarX必要があります。これを行うと、コンパイルすらできないため、現在は実行していないと想定しています。

//File2.cpp
#include "File1.h"
unsigned int VarX = 101;  //this has to be outside any code block or namespace
                          //or class... 
于 2012-04-24T13:54:15.240 に答える