基本クラスの関数の別の 1 つを介して基本クラスの関数に派生ポインターを送信しようとしていますが、何らかの理由でエラーが発生します: エラー: 8 行目の不完全な型 'struct Derived' の無効な使用。
#include <iostream>
using namespace std;
class Derived;
class Base
{
public:
void getsomething(Derived *derived){derived->saysomething();} //This is line 8
void recieveit(Derived *derived){getsomething(&*derived);}
};
class Derived : public Base
{
public:
void giveself(){recieveit(this);};
void saysomething(){cout << "something" << endl;}
};
int main()
{
Base *b = new Base;
Derived *d = new Derived;
d->giveself();
return 0;
}
どうすればこれを修正できるか知っていますか?