我对 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 指针向量。
我的问题是:
如果可能,如何在超类方法的参数中使用子类?