下面是一游戏程序的一段,调试结果是非法定义:如何改正?

char PlaceMade::roomthreeeast(){    int x;     cout << "当你迈进城堡最东边的屋子你注意到\n";     cout << "屋子完全是空的, 没门, 没窗, 甚至 \n";     cout << "没有对问题的任何描述.  程序员走进这间房时\n";     cout << "一定相当累了.\n";     cout << "你想做点什么?\n";     cout << "(1) West: \n";     cout << "(2) 杀死自己: \n";     cin >> x;if (x == 1){     cout << "\n\n\n";     return roomtwoeast();}else if (x == 2){   cout << "有些人呢太自负.  你认为\n";     cout << "事情会如此简单吗?\n\n\n";     system("pause");     return roomthreeeast2();}}