これはうまくコンパイルされますが、私はまだ実行しようとは思わないでしょう。しかし...継承情報で前方に宣言する
//class base;
//class derived;
//class derived : public base;
class base {};
class derived : public base {};
class other
{
public:
void func() {base1 = derived1;}
base* base1;
derived* derived1;
};
void main()
{
}
は...私はmyne原因のプログラムで行う必要があります同様のものがコンパイルエラーが存在するためにベースの定義と派生上記の他のクラスを動かします。
明白な解決策は、コードの先頭にコメントをコメントアウトして前方宣言することですが、これによりbase *とderived * errorの間で変換できません。継承情報を含めて宣言を転送しようとすると、どちらも動作しません。
優れています。これと実際の問題を抱えたプログラムでうまくいった。私はこれが良いのために問題の終わりになることを望んでいる。 – alan2here