【发布时间】:2012-08-22 17:42:17
【问题描述】:
此代码运行正常,但在某个不特定的时刻,我在行
收到了异常访问冲突return lhs.getGeneralType()->getID() != rhs.getGeneralType()->getID();
并且错误破坏了我的应用程序...我已经尝试使用 /EHa 进行编译,但是错误
重复...这行代码多次正确运行,一段时间后出现此错误..
if (lhs.getType() == rhs.getType()) {
try {
if (lhs.getGeneralType() != NULL && lhs.getGeneralType() != NULL)
return lhs.getGeneralType()->getID() != rhs.getGeneralType()->getID();
else if (lhs.getGeneralType() == NULL && lhs.getGeneralType() == NULL)
return false;
else if (lhs.getGeneralType() != NULL && lhs.getGeneralType() == NULL)
return false;
else if (lhs.getGeneralType() == NULL && lhs.getGeneralType() != NULL)
return true;
else
return true;
} catch(char * e) { // tried also exception & , char* e
return true;
}
} else
return true;
getGeneralType() 返回的类型定义如下
class Type
{
private:
int _id;
public:
Type(int id);
operator int() const;
int getID() const;
};
【问题讨论】:
标签: c++ exception exception-handling access-violation