【发布时间】:2014-02-08 07:40:01
【问题描述】:
为什么代码块会给出此错误“未定义对 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() 的未定义引用”
【问题讨论】:
-
你从未定义过“class::classfunction()”
-
对不起,错误是“未定义对 Class2::Class2() 的引用”
-
可能尝试切换cpp类文件中include语句的位置?
-
尝试切换他们的订单。仍然给出同样的错误
-
这是一个链接器错误。换句话说,链接器不知道它也应该在 class.cpp 中查找。如果您使用的是 IDE,那么它可能不是目标的一部分。如果您使用的是命令行,则使用
g++ main.cpp class.cpp进行编译