为什么代码块会给出此错误“对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.oclass.o都链接到可执行文件中。确切的命令取决于您的编译器和OS。对于g ++,命令看起来像

g++ -o main main.cpp class.cpp

关于c++ - C++错误, undefined reference 类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21643394/

10-12 03:26