C++ &引用;没有要调用的匹配函数";Qt错误
这是我第一次用Qt编写类。我已经将声明存储在一个头文件中,将源代码存储在另一个cpp文件中,但主要的错误是没有匹配的函数来调用“Name of class:Name of class()”。我将写下我的代码,并在这条消息下面给出错误的打印屏幕。请告诉我,我真的很难解决这个问题,这个解决方案会对我有很大帮助。提前谢谢 类头文件(圆柱体.h) 类源代码(cylinder.cpp)C++ &引用;没有要调用的匹配函数";Qt错误,c++,qt,C++,Qt,这是我第一次用Qt编写类。我已经将声明存储在一个头文件中,将源代码存储在另一个cpp文件中,但主要的错误是没有匹配的函数来调用“Name of class:Name of class()”。我将写下我的代码,并在这条消息下面给出错误的打印屏幕。请告诉我,我真的很难解决这个问题,这个解决方案会对我有很大帮助。提前谢谢 类头文件(圆柱体.h) 类源代码(cylinder.cpp) #包括“气缸.h” #包括 #定义PI 3.142 气缸::气缸(双r,双h){ 半径=r; 高度=h;} 双圆柱::体
#包括“气缸.h”
#包括
#定义PI 3.142
气缸::气缸(双r,双h){
半径=r;
高度=h;}
双圆柱::体积(){
返回PI*半径*半径*高度;}
双圆柱::表面earea(){
返回2.0*PI*radius*height+PI*radius*radius;}
main.cpp文件
#include <iostream>
#include "cylinder.h"
#include "cylinder.cpp"
using namespace std;
int main()
{
Cylinder c;
cout<< c.volume(5,5);
return 0;
}
#包括
#包括“汽缸.h”
#包括“cylinder.cpp”
使用名称空间std;
int main()
{
气缸c;
cout您缺少默认构造函数
Cylinder() {
...
}
或者主要用
Cylinder c(5.,5.);
也
不接受2个参数。您缺少默认构造函数
Cylinder() {
...
}
或者主要用
Cylinder c(5.,5.);
也
不接受2个参数。代码中有两个错误:
首先是使用不存在的默认构造函数,而不是使用两个参数定义的构造函数
第二个是当volume
函数不接受任何参数时,将两个参数传递给该函数
您似乎误解了如何使用对象和成员函数
您的代码应该类似于
Cylinder c(5, 5); // Pass two arguments here
cout<< c.volume(); // Pass no arguments here
圆柱体c(5,5);//在此处传递两个参数
cout您的代码中有两个错误:
首先是使用不存在的默认构造函数,而不是使用两个参数定义的构造函数
第二个是当volume
函数不接受任何参数时,将两个参数传递给该函数
您似乎误解了如何使用对象和成员函数
您的代码应该类似于
Cylinder c(5, 5); // Pass two arguments here
cout<< c.volume(); // Pass no arguments here
圆柱体c(5,5);//在此处传递两个参数
cout从您发布的图片中可以看到两个错误:
->第9行中的“候选者需要2个参数,提供0”。您应使用以下内容进行更正:
Cylinder c(5.0, 5.0);
在main.cpp的第10行中,您正在调用传递2个参数的方法卷,但函数卷不需要0个参数。您应该使用以下命令更改该行:
cout<< c.volume();
cout从您发布的图片中可以看到两个错误:
->第9行中的“候选者需要2个参数,提供0”。您应使用以下内容进行更正:
Cylinder c(5.0, 5.0);
在main.cpp的第10行中,您正在调用传递2个参数的方法卷,但函数卷不需要0个参数。您应该使用以下命令更改该行:
cout<< c.volume();
couty您的文本图像。它不能被大声读出或复制到编辑器中,而且索引也不太好,这意味着其他有相同问题的用户不太可能在这里找到答案。请您的帖子直接合并相关文本(最好使用复制+粘贴以避免转录错误).嗨,托比,谢谢你的评论。不过,这就是我在这篇文章中所做的。我从Qt复制了代码,并将其直接粘贴到文本框中,之后将所有代码都突出显示为代码文本。如果我能做些什么,使我发布的代码更易于在其他编译器中实现,我将很高兴听到你或其他成员的建议。嗨,埃夫eryone,谢谢你们所有人的回复。因为他们都非常相似,我接受了我发这篇文章时的第一个答案。如果你能给出所有答案,我会诚实地回答。谢谢你。你的文本图像。它不能被大声朗读或复制到编辑器中,而且索引也不太好,这意味着其他拥有相同pr的用户问题不太可能在这里找到答案。请您的帖子直接包含相关文本(最好使用复制+粘贴以避免抄写错误).嗨,托比,谢谢你的评论。不过,这就是我在这篇文章中所做的。我从Qt复制了代码,并将其直接粘贴到文本框中,之后将所有代码都突出显示为代码文本。如果我能做些什么,使我发布的代码更易于在其他编译器中实现,我将很高兴听到你或其他成员的建议。嗨,埃夫eryone,谢谢你们所有人的回复。因为他们都非常相似,我接受了我发这篇文章时的第一个答案。如果你能给出所有答案,我会诚实地回答。谢谢。