実際にクラスを宣言することなく、クラスの名前をコンパイラに伝える方法のこと。
名前空間未所属のクラスの前方宣言 class Hoge; 名前空間aaaに所属のクラスの前方宣言 namespace aaa{ class Hoge; } 名前空間aaa::bbbに所属のクラスの前方宣言 namespace aaa{ namespace bbb{ class Hoge; }} なお、 namespace aaa::bbb{ class Hoge; } はビルドエラーになる。 クラスHogeのインナークラスMosaに対する前方宣言 →インナークラスは前方宣言ができない。設計を見直すか、ヘッダを読み込むかのどちらか。 たいていは、設計を見直した方がよい。