嘿家伙我有一天问了一些关于我无法工作的C++代码的问题。我采取了每个人的建议,如何在C++中创建对象,但现在我得到未定义的参考错误。我正在使用最新的代码块版本并使用它进行编译。我已经读过这是由于在编译过程中没有链接某些文件造成的,这意味着我已经在头文件中定义了该类,但没有在代码中定义该类,这使我感到困惑,因为从我的理解(例如教授示例)我宣称对象。Codeblocks C++未定义的引用错误,类定义
头文件 MathObject.h
class MathObject{
private:
int num1;
int num2;
public:
int sum();
MathObject(int n, int m);
};
MathObject文件 MathObject.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;
}
未定义的引用是对所有呼叫到任何东西在MathObject类,我一直在海我可以理解的一个小型C++示例。 (语法和java差别很大)
这个曾经发生过,当我试图在c中使用多个文件时,这可能是我的电脑有问题吗?
加上'MathObject.cpp'你正在编译 –
你是如何构建这个项目中的文件?从命令行? –
@DrewDormann与codeblocks IDE内置编译器 –