嘿伙计们,前几天我问了一个关于一些我无法开始工作的 C++ 代码的问题。我听取了每个人关于如何在 C++ 中创建对象的建议,但现在我得到了 undefined reference 错误。我正在使用最新的代码块版本并使用它进行编译。我读到这是由于在编译期间没有链接某些文件造成的,这意味着我已经在头文件中定义了类而不是在代码中,这让我感到困惑,因为根据我的理解(教授示例)我正在声明对象。
头文件 数学对象.h
class MathObject{
private:
int num1;
int num2;
public:
int sum();
MathObject(int n, int m);
};
数学对象文件 数学对象.cpp
#include <iostream>
#include "MathObject.h"
using namespace std;
MathObject :: MathObject(int n, int m){
num1 = n;
num2 = m;
}
int MathObject :: sum(){
return num1+num2;
}
主文件
#include <iostream>
#include "MathObject.h"
using namespace std;
int main(int args, char *argv[]){
MathObject *mo = new MathObject(3,4);
int sum = mo -> sum();
MathObject mo2(3,4);
//cout << sum << endl;
return 0;
}
undefined reference 是对 MathObject 类中任何内容的所有调用,我一直在寻找一个我能理解的小 c++ 示例。 (语法和java差别太大了)
当我尝试在 c 中使用多个文件时,会发生这种情况,这可能是我的计算机的问题吗?
最佳答案
在代码块的“项目”选项卡中,右键单击您的项目名称并选择“添加文件...”
或者,您可以从应用程序主菜单的“项目”中选择“添加文件...”。
使用它可以将所有源文件添加到项目中。
当前 MathObject.cpp
不在该列表中,因此无法编译或链接。
关于c++ - Codeblocks c++ undefined reference 错误,类已定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24253979/