ええと、私に何が起こっているのか本当に奇妙ですが、はっきりさせようと思います。私はクラスを持っており、1 つのメソッドで (hpp 定義と cpp 実装で) スローを設定することにしました。そのため、std::exception をスローできるメソッドがあります。ここでは問題ありません。
私は私の例外を作成します:
class MyException : public std::exception {
public:
MyException() throw();
~MyException() throw();
const char what() const throw();
}
わかりました、私のメソッドでそれを使用しましょう:
class myclass {
void mymethod() throw(std::exception);
}
に:
class myclass {
void mymethod() throw(MyException); // I have included hpp file where MyException is defined
}
わかった!これは私が得るものです
/tmp/ccwSS5GE.o:(.gcc_except_table+0x84): 'typeinfo for MyException' への参照が未定義です collect2: ld が 1 つの終了ステータスを返しました
どうして??std::exception を使用すると、すべて正常に動作しますが、今では何も正常に動作しません。