为什么代码块会出现此错误“对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
class cpp file
#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()的未定义引用”
答案 0 :(得分:4)
您需要将main.o
和class.o
链接到您的可执行文件中。确切的命令取决于您的编译器和操作系统。对于g ++,命令看起来像
g++ -o main main.cpp class.cpp