【发布时间】:2014-04-09 21:50:02
【问题描述】:
我需要在我的 Manager 类中调用具有此签名的方法:
void createPlayer(Player& player, PlayerType& playerType);
我有一个这样定义的播放器:
using namespace std;
enum PlayerType { FORWARD, DEFENSEMAN, GOALIE };
class Player {
public:
Player();
void setType(PlayerType);
private:
PlayerType type;
};
这就是我尝试在 main 中调用方法的方式...
#include "Player.h"
#include "Manager.h"
int main() {
Manager manager;
Player player;
PlayerType t = PlayerType::FORWARD;
manager.createPlayer(player, t);
return 0;
}
...但它无法编译并出现此错误:
Main.cc: In function ‘int main()’:
Main.cc:12:18: error: ‘PlayerType’ is not a class or namespace
有什么想法吗?注意:我无法更改 createPlayer 方法的签名。
【问题讨论】:
-
How to using Enums in C++ 的可能重复项
-
不要在头文件中
using namespace std。这是不好的做法。