我已经搜索,但一直没能得到我想要的...在函数之间传递结构C++
我正在做一个小游戏。我得到了这个包含玩家详细信息的struct
。
struct Player
{
string name;
int level;
int exp;
int hp; // life
int mp; // mana
int shield;
};
当在菜单中,用户选择开始新游戏,它进入这个函数:
int StartNewPlayer(string name)
{
Player player;
player.name = name;
player.level = 1;
player.exp = 0;
player.hp = 20;
player.mp = 5;
player.shield = 0;
*pass/return the struct here*
}
然后,我有一个打印游戏板的功能,并在那里我应该来自新的球员结构使用的数据,例如:
void game_board()
{
cout << "Hello!" << player.name;
(...)
}
最后,在某处main
我:
int main()
{
StartNewPlayer(new_game());
game_board();
}
调用上述所有函数。
但我不出来...我想引用指针没有运气。我需要一些帮助,在这里,请...
我得到这个错误编译'错误C2360:初始化'player'被'case'标签跳过。是因为'Player player = StartNewPlayer(new_game()); game_board(播放器);'在开关中? – 2013-02-28 19:59:21
@HenriqueFerrolho发布'switch'代码会很有帮助。一种解决方案是用大括号包围案例,就像这样:case 0:{Player player = ...; } break;' – Pubby 2013-02-28 20:01:12
ALRIGHT! :D最后!那就是诀窍!你能解释为什么吗?我想理解...另外,我有一个疑问,在这个函数中:'Player StartNewPlayer(string name)'''Player是什么意思?是返回类型?有点像int? – 2013-02-28 20:04:21