このコードは正しく実行されますが、不特定の瞬間に行で例外アクセス違反が発生します
return lhs.getGeneralType()->getID() != rhs.getGeneralType()->getID();
そして、エラーが私のアプリケーションを壊します... iveはすでに/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() が返す Type の定義は以下のとおりです
class Type
{
private:
int _id;
public:
Type(int id);
operator int() const;
int getID() const;
};