當程式由數個檔案組成的時候,假設B檔案要存取A檔案宣告的全域變數或是函式時,那麼B檔案要做使用外部的宣告,也就是以關鍵字 extern 修飾。
本文以C++實作介紹
宣告外部變數時,不可以做初始化,不然會出現C2205錯誤: 無法在區塊範圍內初始化extern變數。
Source1.cpp
double someVar1 = 1000;
int a = 10;
int b = 10;
int add(int,int)
{
return a + b;
}
Source2.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
extern double someVar1;
extern int a;
//extern int a =5;宣告外部變數時,不可做初始化,不然會出現C2205錯誤: 無法在區塊範圍內初始化extern變數
extern int b;
extern int add(int,int);
cout << someVar1 << endl;
cout << add(a,b)<<endl;
system("pause");
return 0;
}
執行結果如下:
有夢最美 築夢踏實
活在當下 認真過每一天
我是阿夢 也是Ace