所以我对使用c ++非常陌生,并且在从类中创建对象时遇到了问题。我在不同的文件(.h和.cpp)中有该类。这就是我的代码主体。
#include <iostream>
#include "august.h"
using namespace std;
int main()
{
cout << "Hello world!" << endl;
August obj1;
obj1.test();
return 0;
}
然后我有一个班级的头文件
#ifndef AUGUST_H
#define AUGUST_H
class August
{
public:
August();
void test();
protected:
private:
};
#endif // AUGUST_H
.cpp文件
#include "august.h"
#include <iostream>
using namespace std;
August::August()
{
}
void August::test () {
cout << "hello" << endl;
}
它的意思是先打印“ Hello World”,然后打印“ hello”,但是它只是在我尝试从主文件中的类创建对象的位置旁边显示一个红色方框,表示错误。如果有人知道我做错了什么,将不胜感激,如果您需要更多信息,我将很乐意为您服务。
编辑: 这是我认为的错误,来自Code :: Blocks日志面板上的“构建日志”选项卡。
/home/august/Desktop/Game Thing/Thing/main.cpp:9: undefined reference
to `August::August()'
/home/august/Desktop/Game Thing/Thing/main.cpp:10: undefined reference
to `August::test()'
collect2: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
3 error(s), 0 warning(s) (0 minute(s), 0 second(s))
编辑(第2部分): 感谢@ user4581301,他建议也许问题是我没有将.cpp文件添加到项目中。事实证明是这样的,正如我之前添加的.h文件一样,草率地认为这将覆盖两个文件。我更改了它,现在可以正常使用了。