Как я могу использовать функцию в функции в C++
#include <iostream> #include <string> using namespace std; void play(); void startgame(); int main() { string wantToPlay; int counts[]={0,0,0}; int timesPlayed; int userScore; int compScore; { play(); } void startgame() { cout >>"Want to play ? Y or N"; cin <<wantToPlay; while(wantToPlay=="Y"||wantToPlay=="y") { play(); } } void play() { int userChoice=0; int userFav=-1; int moves[]={1,2,0}; cout <<"Your Move ?"<<endl; cout <<"0 : Stone"<<endl; cout <<"1 : Paper"<<endl; cout <<"2 : Scissor"<<endl; cin >>userChoice; counts[userChoice]++; int compChoice = 0; int max = -1; if (timesPlayed == 0) { compChoice = static_cast<int>(std::floor(Math::random() * 3)); } else { for (int i = 0;i < counts.size();i++) { if (counts[i] > max) { max = counts[i]; userFav = i; } } compChoice = moves[userFav]; } std::wcout << std::wstring(L"Computer's Move : ") << compChoice << std::endl; int result = userChoice - compChoice; if (result == 1 || result == -2) { userScore++; std::wcout << std::wstring(L"You Win") << std::endl; } else if (result == 0) { std::wcout << std::wstring(L"Game Tied") << std::endl; } else { compScore++; std::wcout << std::wstring(L"You Lose") << std::endl; } std::wcout << std::wstring(L"You ") << userScore << std::wstring(L" - ") << compScore << std::wstring(L" Computer") << std::endl; timesPlayed = 1; startGame(); } }
Что я уже пробовал:
ошибка: определение функции здесь не допускается перед токеном ' {'//это ошибка, которую я получаю
[no name]
Возможно, если вы отформатируете свой код так, чтобы он был читабельным, вы сможете увидеть ту часть, которая вызывает ошибку. Вы не можете определить функцию внутри другой функции, как вы пытаетесь сделать с "игрой".
[no name]
Чтобы добавить к вышесказанному, кажется, что вы не совсем понимаете, как объявлять, определять и вызывать функцию. Это основы, которые вы должны прочитать в первую очередь.