我已經搜索,但一直沒能得到我想要的...在函數之間傳遞結構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