在c/c++中一个文件调用另外一个文件的全部变量时,需在当前文件里再次声明该变量,且可以再次赋值(注:再次赋值不是在声明里面)
CTest.h
#pragma once #include <iostream> int INT = 90; template <typename T1, class T2> class CTest { public: CTest(); ~CTest(); void PrintShow(); }; template <typename T1, class T2> inline CTest<T1, T2>::CTest() { } template<typename T1, class T2> inline CTest<T1, T2>::~CTest() { } template<typename T1, class T2> inline void CTest<T1, T2>::PrintShow() { T1 x = 4; T2 y = 9.9; cout << "x:" << x << endl; cout << "y:" << y << endl; }
Main.h
#include <iostream> #include "CTest.h" #include "stdio.h" using namespace std; #pragma warning( push, 1) extern int INT; int main() { CTest<int, int> ct; INT = 322; cout << INT << endl; }