我正在制作一个跟踪高尔夫统计数据的程序,因此我需要培养球员。我做了一个函数叫做
getPlayer(int playerNum);
在里面我有所有这些代码
switch(playerNum)
case 1: return(player1);break;
case 2: return(player2);break;
case 3: return(player3);break;
case 4: return(player4);break;
case 5: return(player5);break;
case 6: return(player6);break;
case 7: return(player7);break;
case 8: return(player8);break;
case 9: return(player9);break;
case 10: return(player10);break;
在我的 playermanager.h 中
#ifndef PLAYERMANAGER_H
#define PLAYERMANAGER_H
#include <string>
class playerManager
{
public:
playerManager();
std::string getPlayer(int playerNum);
private:
std::string player1;
std::string player2;
std::string player3;
std::string player4;
std::string player5;
std::string player6;
std::string player7;
std::string player8;
std::string player9;
std::string player10;
};
#endif // PLAYERMANAGER_H
现在当我运行它时我得到了错误
'player1' was not declared in this scope
我也得到了错误
break statement not within loop or switch
它从玩家 1 一直持续到玩家 10。 我通过调用文件读取器函数对字符串进行了智能化。我真的是 c++ 的新手,我可能正在做一些愚蠢的错误,所以如果有人能帮忙的话。 提前致谢!
最佳答案
省略了代码审查的东西-
你有没有实现过
std::string getPlayer(int playerNum);
代替
std::string playerManager::getPlayer(int playerNum);
?
另外 - 开关
:
switch(playerNum)
{
case 1: return(player1);break;
case 2: return(player2);break;
case 3: return(player3);break;
case 4: return(player4);break;
case 5: return(player5);break;
case 6: return(player6);break;
case 7: return(player7);break;
case 8: return(player8);break;
case 9: return(player9);break;
case 10: return(player10);break;
}
除此之外 - 糟糕的代码。假设我是您的客户,我告诉您我想要 11 个玩家而不是 10 个。然后呢?
关于C++/'string' 未在此范围/错误中声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11638128/