很简单,我收到了这个错误:
Undefined symbols for architecture x86_64:
"Tetris::rotate(int (*) [2], int)", referenced from:
Tetris::add_piece(char, int, int) in tetris-8a8072.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
这是我的旋转功能:
int** rotate(int oldpiece[][2],int rot){
int **newpiece= new int*[4];
for (unsigned int i=0; i<4; ++i){
newpiece[i] = new int[2];
}
for (unsigned int i=0; i<4; ++i){
for (unsigned int j=0; j<2; ++j){
newpiece[i][j]=oldpiece[i][j];
}
}
return newpiece;
}
旧件是一个4x2的整数数组。
截至目前,所有此功能应该将oldpiece
复制到newpiece
,然后复制到return newpiece;
。我不知道这个错误意味着什么。
答案 0 :(得分:0)
你有外部图书馆吗?如果是这样,你必须链接它。 另外,尝试在release选项下编译程序而不是debug选项。