Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ &引用;没有要调用的匹配函数";Qt错误_C++_Qt - Fatal编程技术网

C++ &引用;没有要调用的匹配函数";Qt错误

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;} 双圆柱::体

这是我第一次用Qt编写类。我已经将声明存储在一个头文件中,将源代码存储在另一个cpp文件中,但主要的错误是没有匹配的函数来调用“Name of class:Name of class()”。我将写下我的代码,并在这条消息下面给出错误的打印屏幕。请告诉我,我真的很难解决这个问题,这个解决方案会对我有很大帮助。提前谢谢

类头文件(圆柱体.h)

类源代码(cylinder.cpp)

#包括“气缸.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,谢谢你们所有人的回复。因为他们都非常相似,我接受了我发这篇文章时的第一个答案。如果你能给出所有答案,我会诚实地回答。谢谢。