我試圖用一個布爾值 保持我的狀態在我的頭文件,我宣佈:布爾值沒有改變
bool *modified;
在我的類的構造函數初始化我的狀態假:
bool initState = false;
modified = &initState;
然後我有一個按鈕,狀態更改爲true:
bool change = true;
modified = &change;
我人所以有一個按鈕來查看狀態:
if(!*modified){
// doing something
} else{
// do something else
}
的問題是,如果我真的改變了狀態,*修改依然會在正確的。我不知道問題出在哪裏。有沒有人有任何想法,它是。
爲什麼你使用布爾指針時,一個普通的布爾值呢?你的代碼片段不夠完整,無法解釋你的錯誤 – EdChum 2014-09-10 08:15:53
偶然是'change'和'initState'局部變量嗎? – 2014-09-10 08:15:56
在頭中定義'modified'並不是一個好主意,因爲如果多個源文件包含它,就會冒着多個定義的風險。最好使用'extern'在頭文件中聲明並在源文件中定義一次。 – 2014-09-10 08:16:24