私は C++ が初めてで、ポインタのベクトルをオブジェクトに渡すのに問題があります。具体的には、オブジェクトがメソッドが含まれるクラスのサブクラスであることが問題です。エラーが発生します。
'Player' was not declared in this scope
Player
Visual
私のファイル Visual.cppのサブクラスであり、ヘッダーファイルでも宣言されている次の関数があります。
bool Visual::DrawStatusInformation(Timer* timer, std::vector<Player*>* playerList) {
// Draw Info
}
class Player;
ヘッダー ファイルで前方宣言を試みましたが、次のエラーが表示されます。
error: invalid use of incomplete type ‘struct Player’
error: forward declaration of ‘struct Player’
問題は私の定義が循環していることだと思います.PlayerはVisualを拡張しますが、VisualはPlayerポインターのベクトルを処理できるようにするためにPlayerについて知る必要があります。
私の質問は:
可能であれば、スーパークラス メソッドのパラメーターでサブクラスを使用するにはどうすればよいですか?