2012-10-29 3 views
2

Je suis en train d'écrire un projet sur l'alpha-bêta. Et quand je le lance dans Xcode, je reçois Symbole erreur de référencement:Erreur de référencement de symbole

Undefined symbols for architecture x86_64: 
    "Eval(Node*)", referenced from: 
     AlphaBeta(int, int&, int, int, int, Node*) in main.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

une partie de mon code:

struct Node 
{ 
    char name[1]; 
    int empty;// YES or NO 
    double value; 
}; 

int eval(Node ptr[]) { 
//some stuff 
} 

int AlphaBeta (int player, int &bestMove, int alpha, int beta, int bsize, Node ptr[]) { 
//some stuff, and then i call Evaluation function 

int value = Eval(ptr); 
//some stuff 
} 
int main (int argc, const char * argv[]) 
{ 

    int size = 4; 
    Node board[size*size]; 
// some stuff 
    int score = AlphaBeta(RED, move, a, b, size, board); 
    return 0; 
} 

Répondre

3

Vous avez une faute de frappe:

int eval(Node ptr[]) 

comment la fonction est défini, mais vous appelez

Eval(ptr); 
^ 
+- this was a lowercase 'e' in the definition! 

la ter - rappelez-vous que C et C++ sont sensibles à la casse.

+0

à droite ... c'était une faute de frappe. merci beaucoup, mec – user23256

+0

@ user1767718 Pas de problème. Veuillez accepter la réponse quand vous pourrez le faire. –

Questions connexes