gpt4 book ai didi

c++ - 没有匹配函数调用 'currency::currency()'

转载 作者:行者123 更新时间:2023-11-27 23:43:27 30 4
gpt4 key购买 nike

我不知道这个错误是什么意思:

当我编译它时,它给我错误::表示范围解析,但我仍然不明白那些 Classname::classname() 是什么意思。

#include <iostream>
using namespace std;

class currency
{
int rupee,paisa;
public:
currency(int r, int p)
{
rupee=r;
paisa=p;
}
void display()
{
cout<<"\nCurrency = Rs. "<<rupee<<"."<<paisa;
}
friend currency AddCurrency(currency,currency);
};

currency AddCurrency(currency,currency);

int main()
{
currency c1(5,50);
c1.display();
currency c2(94,49);
c2.display();
currency c3=AddCurrency(c1,c2);
c3.display();

getch();
return 0;
}

currency AddCurrency(currency a,currency b)
{
currency c;
c.rupee=a.rupee+b.rupee;
c.paisa=a.paisa+b.paisa;
return c;
}

最佳答案

问题是您的用户定义的构造函数 currency::currency(int r, int p) 禁止编译器合成默认构造函数。

如果您使用的是 C++11 或更高版本,您可以告诉编译器您确实希望合成一个默认构造函数:

currency() = default;

或者,您可以编写自己的默认构造函数。

可以找到完整的详细信息 here .

关于c++ - 没有匹配函数调用 'currency::currency()',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52606023/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com