2015-11-30 118 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); 

我的答案是不相关的。

相关问题