我已经阅读了其他带有相同标题的大多数帖子,但并没有找到解决方案。
我有三个文件(我知道整个程序毫无意义,只是用于测试目的):
main.cpp
#include "Animal.h"
Animal ape;
int main(int argc, char *argv[]){
ape.getRace();
return 0;
}
Animal.h
class Animal{
public:
int getRace();
private:
int race;
};
Animal.cpp
#include "Animal.h"
Animal::Animal(){
race = 0;
}
int Animal::getRace(){
race = 2;
return race;
}
我运行 main.cpp 文件时遇到了以下错误:
Undefined symbols for architecture x86_64:
"Animal::getRace()", referenced from:
_main in main-oTHqe4.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[Finished in 0.1s with exit code 1]
这里出了什么问题?
Animal.cpp:3:6: error: definition of implicitly declared default constructor Animal::Animal(){ ^ 1 error generated.
- allegutta