所以我目前正在学习CPP,我正在使用代码块,当我试图使用单独的文件创建一个构造函数和一个具有类的解构器时,我不断得到错误
||=== Build: Debug in 1 (compiler: GNU GCC Compiler) ===|
C:UsersxxxxxAppDataLocalTempcclh2esZ.o||In function `main':|
C:UsersxxxxxDesktop11main.cpp|8|undefined reference to `Myclass::Myclass()'|
C:UsersxxxxxDesktop11main.cpp|8|undefined reference to `Myclass::~Myclass()'|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
这是我用来获取这个错误的代码
main.cpp
#include <iostream>
#include "Myclass.h"
using namespace std;
int main()
{
Myclass obj;
}
Myclass.h
#ifndef MYCLASS_H
#define MYCLASS_H
class Myclass
{
public:
Myclass();
~Myclass();
};
#endif // MYCLASS_H
Myclass.cpp
#include "Myclass.h"
#include <iostream>
using namespace std;
Myclass::Myclass()
{
cout << "constructor"<< endl; //ctor
}
Myclass::~Myclass()
{
cout << "deconstructor" << endl;
}
请帮帮我,我已经被困了一天多了,我真的需要帮助。提前感谢
我唯一能想到的会导致这种问题的就是链接错误。
如果您转到"文件"选项卡下,然后选择类,并浏览窗口提示,它将自动创建并链接头文件和源文件。
如果要手动链接文件,可以在选项卡"项目"、"生成选项"one_answers"搜索目录"下添加文件所在文件夹的路径。当编译器查找#include时,将搜索添加到编译器和链接器的任何地址。
#include <iostream>
#include "Myclass.h"
#include "Myclass.cpp" // You forgot to reference this class.
using namespace std;
int main()
{
Myclass obj;
}
你忘了第3行。