Я пишу проект об обрезке альфа-бета. И когда я запускаю его в xcode, я получаю ошибку ссылки Symbol:
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)
некоторые из моего кода:
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;
}
У вас есть опечатка:
int eval(Node ptr[])
как определяется функция, но вы вызываете
Eval(ptr);
^
+- this was a lowercase 'e' in the definition!
позже — помните, что C и C ++ чувствительны к регистру.
Других решений пока нет …