我還在學習MFC, 很多不明白。請教一下。
我定義了一個結構體作為全域變數,三個類都要存取這個結構體變數,分別是主對話框類、CWinThread執行緒類、執行緒啟動的對話框類。這三個類本身也是相互參考頭檔案的。這個全域結構體如果放到主對話框類頭檔案里,就會出現重復參考錯誤,如果放到CPP中,其他兩個類用extern struct *xxx,就會出現“不允許指標指向不完整型別的類”。應該如何處理這種問題?請幫幫晚輩
uj5u.com熱心網友回復:
為什么要一開始就用全域變數這種想法呢?
pParam這個引數可以把你的結構體傳給執行緒
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam)
UINT WorkForce(LPVOID lpParameter);//執行緒函式宣告
對話框類可以增加一個public函式
SetParam(結構體 value)
uj5u.com熱心網友回復:
忘記全域變數這種方式吧,除非不得已才用它!這種并不是一個很好的習慣
uj5u.com熱心網友回復:
不完整型別的類”結構有問題uj5u.com熱心網友回復:
說的是呢
,我是最初用了一個AfxBeginThread(RUNTIME_CLASS(CChatThread)),沒法傳引數,所以想試試全域變數
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/249193.html
標籤:基礎類
