在分离类时,使用CPP文件中的功能会导致错误
While seperating classes, using a function in cpp file causes errors
所以我刚刚学会了如何分离类,YouTube Totourial强调这样做很多,这是链接https://www.youtube.com/watch?v=ntip15bhvzc& list = plae85de84440aa6b83& index = 15我的代码与他的代码完全相同,并且在CPP文件中有这件事: mainClass::myfunction;
(主级是我班级的名称,我的功能是我的功能)当我尝试执行程序时,它会出现一个错误:
unidentified reference to 'mainClass::myfunction()'
这是我的Main.CPP文件代码:
#include <iostream>
#include "mainclass.h"
using namespace std;
int main()
{
mainClass bo;
bo.myfunction();
return 0;
}
这是我的MainClass.h代码:
#ifndef MAINCLASS_H
#define MAINCLASS_H
class mainClass
{
public:
myfunction();
};
#endif // MAINCLASS_H
我的mainclass.cpp:
#include "mainclass.h"
#include <iostream>
using namespace std;
mainClass::myfunction()
{
cout << "I am a banana" << endl;
}
我对这些了解不多,所以你能告诉我这里的错误是什么,因为我从这个家伙的套餐中正确复制了所有内容,但仍然不起作用附注:这发生在我很多事情上,我了解一切,什么都没有奏效,我复制一切,什么都没有起作用,然后我从字面上做了这个人的所作所为,仍然没有任何PC的所有操作,所以我不认为问题是使用设备大声笑
我怀疑您完全复制并粘贴了该代码,因为我相当确定老师不应该在没有指定的返回类型的情况下教授功能,但无论如何让我们跳入它...
可能性#1 您要为班级创建一个构造函数。在这种情况下,请确保构造函数函数的名称与类相同。另外,您无法通过.mainClass()
调用它,因为它是构造函数。
class mainClass
{
public:
mainClass();
};
mainClass::mainClass()
{
cout << "I am a banana" << endl;
}
可能性#2 您打算创建类成员函数myfunction
。您确实应该指定您的功能的返回类型。一些编译器将自动使用int
返回类型,因此您创建的功能是int myfunction();
,但是您实际上应该将其指定为void myfunction();
,因为您没有返回任何内容。addl。信息:C 是否允许默认返回类型?
接下来,通过添加返回类型来更改定义的方式。
void mainClass::myfunction()
{
cout << "I am a banana" << endl;
}
可能性#3 应该有效,但另一个问题是您可能没有链接mainclass.cpp,因此没有可用的定义。在代码块中,右键单击项目名称并点击Add Files
,然后添加mainclass.cpp,以便链接器可以定义mainClass::myfunction()
。
如果通过项目构建了MainClass.cpp,请尝试添加 #error I'm included!
到#include "mainclass.h"
之后的文件CC_11。如果您遇到了错误I'm included!
,则将其链接,并且可以删除#error
。
- Malloc后的自由功能错误
- 功能错误中的表达语法帮助!C/C
- 将对象传递到类,没有接收匹配功能错误
- 无效打印功能错误
- 绑定std ::功能错误
- 我可以启用有关我自己的变异功能错误使用的指定符的警告
- 功能错误的使用无效
- C 朋友模板功能错误
- 单链接列表推送功能错误
- ConstexPR静态模板功能:G 错误是Clang上的警告
- 一个奇怪的打印功能错误
- 信号功能错误
- 查找最低值.功能.错误:线程 1:EXC_BAD_ACCESS(代码 = 1,地址 = 0x7fff5fc89000)
- 超载功能错误消息
- 与操作员'<<'不匹配 有人可以帮助解决无效功能错误吗?[C++]
- 没有操作员发现升压read_xml功能错误
- 工厂设计模式中的纯虚拟功能错误
- 如何跟踪LLVM验证功能错误"Expected no forward declarations!"?
- OOP项目功能错误
- c++ GTK控制台日志功能错误