#include<stdio.h>class CDemoCls{public: int idata;public: CDemoCls(){ idata=0; printf("%s\n",__FUNCTION__); } ~CDemoCls(){ printf("%s\n",__FUNCTION__); }};class CDemoCls2{public: static class CDemoCls cls; static int a;public: CDemoCls2(){ printf("%s\n",__FUNCTION__); } ~CDemoCls2(){ printf("%s\n",__FUNCTION__); }};int main(){CDemoCls2 obj;//obj.cls.idata=5;//有這句 報錯:/*testClsStatic.obj : error LNK2019: 無法解析的外部符號 "public: static class CDemoCls CDemoCls2::cls" (?cls@CDemoCls2@@2VCDemoCls@@A),該符號在函數 _main 中被引用testClsStatic.exe : fatal error LNK1120: 1 個無法解析的外部命令*/ return 0;}
定義2 個類,第二個類 想使用 一個 static的類1 對象,現在編譯 可運行顯示:
CDemoCls2::CDemoCls2CDemoCls2::~CDemoCls2
好像沒有CDemoCls的事情,在main函數加上對 static 類 的變數使用,直接報錯,無法解析的外部符號。
真是鬱悶。我只是希望 第二個類 不要重複 對第一個類 進行操作。把 第一個類 當作 全域變數 ,我總覺得 全域變數多了 不好管理。
唉 這麼 簡單的要求,沒想到 都無法做到。
而且 類中的 static 無法 直接初始化,這個 最煩人了。只希望 初始化一次的。