「extern」が何をするのかを学ぼうとしています。メインのヘッダーで変数がexternで宣言されている単純なプログラムがあります。主に、その変数が定義されています。Main は、その変数の値を出力するために、別のクラス ファイル (メインのヘッダーが含まれているため、外部変数にアクセスできる必要があります) のメソッドを呼び出します。しかし、コンパイル エラーが表示されます:「未解決の外部シンボル "int myglobal"。
source.cpp ファイルでこの変数への参照を削除すると、コードは正常に実行されます。
ソース.cpp
#include "main.h"
#include <iostream>
void printGlobal()
{
std::cout << "Global: " << myglobal;
}
ソース.h
void printGlobal();
main.h
extern int myglobal;
main.cpp
#include "main.h"
#include "Source.h"
int main()
{
int myglobal = 5;
printGlobal();
system("pause");
return 0;
}