关于网友提出的“ C++引入h报错”问题疑问,本网通过在网上对“ C++引入h报错”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: C++引入h报错
描述:初学c++想封装一个类引入.h报错
Student.h文件
ifndef C_STUDENT_H
define C_STUDENT_H
class Student{
public:
void data();
};
endif //C_STUDENT_H
Student.cpp文件
include "Student.h"
void Student::data()
{
printf("hello");
}
main.cpp文件
include
include "Student.h"
int main() {
Student student;
student.data();
return 0;
}
报错为
undefined symbols for architecture x86_64:
"Student::data()", referenced from:
_main in main-c01688.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方案1:先把代码排版好
根据你的错误信息,你的编译的命令行应该有误,顺便一道贴出来看看
个人猜测,你是没有加入Student.cpp的编译:
cc main.cpp Student.cpp -o a.out
解决方案2:先把代码排版好
以上介绍了“ C++引入h报错”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4537134.html