为什么代码块会给出此错误“对class :: classfunction()的未定义引用”
在单独的文件中创建类时会发生这种情况。所有这些文件都在同一文件夹中
这是主要的.cpp文件
#include<iostream>
#include "Class2.h"
using namespace std;
main()
{
Class2 classObject;
cout<<"I'm class2"<<endl;
}
类头文件
#ifndef CLASS2_H
#define CLASS2_H
class Class2
{
public:
Class2();
~Class2();
protected:
private:
};
#endif // CLASS2_H
cpp类文件
#include "Class2.h"
#include<iostream>
using namespace std;
Class2::Class2()
{
cout<<"Hello, I'm Constructor"<<endl;
}
Class2::~Class2()
{
cout<<"Yo!! I'm Destructor"<<endl;
}
错误是“对Class2 :: Class2()的未定义引用”
最佳答案
您需要将main.o
和class.o
都链接到可执行文件中。确切的命令取决于您的编译器和OS。对于g ++,命令看起来像
g++ -o main main.cpp class.cpp
关于c++ - C++错误, undefined reference 类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21643394/