C++ 错误,未定义的引用类
Posted
技术标签:
【中文标题】C++ 错误,未定义的引用类【英文标题】:C++ error, Undefined reference class 【发布时间】: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
进行编译
【参考方案1】:
您需要将main.o
和class.o
链接到您的可执行文件中。确切的命令取决于您的编译器和操作系统。对于 g++,命令看起来像
g++ -o main main.cpp class.cpp
【讨论】:
抱歉,这种代码在哪里输入?我正在通过代码块直接编译。不是通过终端 @user3286581:我不是 CodeBlocks 专家,但您可能需要创建一个包含两个源文件的项目:wiki.codeblocks.org/index.php?title=Creating_a_new_project以上是关于C++ 错误,未定义的引用类的主要内容,如果未能解决你的问题,请参考以下文章