前方宣言(前方参照)

実際にクラスを宣言することなく、クラスの名前をコンパイラに伝える方法のこと。

名前空間未所属のクラスの前方宣言
class Hoge;

名前空間aaaに所属のクラスの前方宣言
namespace aaa{
class Hoge;
}

名前空間aaa::bbbに所属のクラスの前方宣言
namespace aaa{
namespace bbb{
class Hoge;
}}

なお、
namespace aaa::bbb{
class Hoge;
}
はビルドエラーになる。

クラスHogeのインナークラスMosaに対する前方宣言
→インナークラスは前方宣言ができない。設計を見直すか、ヘッダを読み込むかのどちらか。
たいていは、設計を見直した方がよい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です