.c ファイルを .cpp ファイルに変換する必要があり、次の宣言に遭遇しました。
typedef void handler_t(int);
handler_t *Signal(int signum, handler_t *handler);
この 2 行のコードをヘッダー ファイルに含め、実際の関数宣言関数を .cpp ファイルに追加します。
handler_t *Signal(int signum, handler_t *handler){ ...... }
これを行うと、「handler_t は型に名前を付けていません」というエラーが表示されます。C または C++ で typdef を使用したことがないので、なぜエラーが発生するのか説明してもらえますか?
リクエストされた私のクラス:
#ifndef A_H
#define A_H
class A
{
public:
A();
virtual ~A();
typedef void handler_t(int);
handler_t* Signal(int signum, handler_t *handler);
protected:
private:
};
#endif // A_H
/////////////
#include "A.h"
A::A()
{
}
A::~A()
{
}
handler_t* A::Signal(int signum, handler_t *handler) {
...........
}
エラー:
|694|error: ‘handler_t’ does not name a type|