2014-02-08 3 views
0

Хорошо, возможно, немой вопрос вам, ребята, но я не могу понять это.если оператор в основной функции C++

Так что я беру курс базового курса C++ в классе, и до сих пор я борюсь/плачу.

Я не могу показать вам, ребята, мой код, потому что мне не разрешено/есть последствия, если я пойман, но я мог бы, вероятно, привести пример.

Я использую xcode. Поэтому, когда я компилирую, я получаю две ошибки ниже (изображение предоставлено). Я искал похожие вопросы, но они кажутся слишком сложными по сравнению с тем, что я делаю. Кроме того, у меня есть только iostream и string.

Я знаю, что проблема возникает, когда я добавляю оператор if в моей основной функции. Я знаю это, потому что, когда я удаляю его, все компилируется так, как ожидалось. Однако, когда я добавляю его снова к основной функции, эти ошибки возникают.

Итак, мой вопрос, основываясь на том, что я знаю, правильно ли добавлять утверждения if, если в основной функции?

Ниже приведен пример. Я написал приведенные ниже функции и назвал их выше.

#include <iostream> 
#include <string> 

using namespace std; 

// example functions that I just made up to explain the structure of my actual code. 

//Don't bother trying to understand it. It's just to explain that 
//I wrote my functions at the 
// bottom and called it at the top. 

int getNumberofWins(param1, param2); 

string getTheName(int player1); 

int executeCycle(string p1_name, string p2_name); 

void stateWinner(string winner_name); 


int main { 

playerOne = getTheName(1); 
playerTwo = getTheName(2); 


r1 = executeCycle(playerOne, playerTwo); 



r2= executeCycle(playerOne, playerTwo); 

totalWin1 = getNumberOfWins(1, r1, r2); 
totalWin2 = getNumberOfWins(2, r1, r2); 

cout << totalWin1; 

//This is the where I get the errors. When I delete the if statement, 
//Everything compiles. When I add it, an error occurs. 

if (totalWin1 == 2){ 
    stateWinner(playerOne); 
} 
return 0; 
} 

string getTheName(int player1){ 

string playerOne; 
string playerTwo; 

if(player_number == 1){ code code code 
} 

} 

int getNumberofWins (int param1, int param2){ 
code code code 
} 

int executeCycle(string p1_name, string p2_name){ 
    code code code 
} 

void stateWinner(string winner_name){ 
if(!winner_name.empty()){ 
    code code code 
} 

Я надеюсь, что это нормально, если приведенный выше код не является точным. Я думаю, дело в том, что как только я добавлю инструкцию if к основной функции, появятся две ошибки.

enter image description here

enter image description here

на самом деле ... теперь, когда я смотрю на это, они оба, кажется, как и подобные ошибки. Я просто не знаю, почему они оба появляются ...

Извините, если это очевидный ответ или если это неясно.

+2

Как определяется 'win' и где? – herohuyongtao

+0

Объявление функции 'StateWinner' не существует. – Barmar

+0

В сообщении об ошибке говорится 'announceWinner' - я не вижу упоминания об этом в вашем коде, поэтому неясно, почему это происходит. Было бы разумнее, если бы ошибка вызвала «stateWinner». – Barmar

ответ

0

Функция "announceWinner" нигде не определено, т.е. нет

void announceWinner() { 
    // code 
} 

в любом месте. Либо вы еще не записали его, либо файл, который содержит его, не компилируется &, связанный с основной программой.

Смежные вопросы