2015-11-30 101 views
-1

我有一個問題,在if情況下設置變量。這裏是我的代碼:設置Qt的情況下的變量

void ExcelResultFileWriter::setCombineP835(bool option){ 
    if(option == true){ 
     cout << "dario" << endl; 
     this->combineSheets = true; 
    } 
    else{ 
     cout << "kein dario" << endl; 
    } 
} 

當他試圖將變量設置combineSheets我發現了一個地址錯誤。有沒有人有一個想法,爲什麼?當我只打印出「dario」時它工作正常,但是當涉及到設置變量時,我收到了錯誤。該變量當然定義爲

bool combineSheets 

謝謝!

+1

什麼是錯誤信息? – Balu

+0

這段代碼似乎沒有錯,它可能是內存損壞或類似的東西 – demonplus

+0

異常類型:EXC_BAD_ACCESS(SIGSEGV) 異常代碼:KERN_INVALID_ADDRESS在0x0000000000000040 – Darius

回答

0

你有你的類的有效實例:)

一個

ExcelResultFileWriter * class; 
class->setCombineP835(true); 

會崩潰,因爲該類沒有實例化/創建。

B)如果您有:

ExcelResultFileWriter * class = new ExcelResultFileWriter(); 
class->setCombineP835(true); 

它應該工作。

C)如果您有:

ExcelResultFileWriter class; 
class.setCombineP835(true); 

我的答案是不相關的。

相關問題