Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.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++ 我收到以下错误:调用‘;时没有匹配函数;A::A()’;?_C++_Class - Fatal编程技术网

C++ 我收到以下错误:调用‘;时没有匹配函数;A::A()’;?

C++ 我收到以下错误:调用‘;时没有匹配函数;A::A()’;?,c++,class,C++,Class,我定义了一个类,它的构造函数由3个整数参数组成 class A{ int a,b,c; A(int x,int y,int z){ a=x; b=y; c=z; } }; 现在,另一个类定义如下 class B{ A a; B(A x){ a=x; } }; 我得到的错误是 Error: no matching function for call to ‘A::A()’ 有人能帮我定义这两个类吗?您没有正确实现构造函数。您需要使用: 否则,在输入构造函数主体之前,将默认构造成员a。您的类

我定义了一个类,它的构造函数由3个整数参数组成

class A{
int a,b,c;
A(int x,int y,int z){
a=x;
b=y;
c=z;
}
};
现在,另一个类定义如下

class B{
A a;
B(A x){
a=x;
}
};
我得到的错误是

Error:  no matching function for call to ‘A::A()’

有人能帮我定义这两个类吗?

您没有正确实现构造函数。您需要使用:


否则,在输入构造函数主体之前,将默认构造成员
a
。您的类
A
没有默认构造函数,因此会导致错误。

必须初始化该
A
成员。您不能只分配给它,因为它不能默认构造。看看“会员名单”,我想知道为什么这样的问题经常被否决。每个人都从小事做起,从一个完全的初学者的角度来看,这个问题是有道理的,特别是如果您以前的所有经验都是使用Java,在Java中,类似的代码可以编译并正常工作。它具有可复制、格式正确的代码和清晰的错误消息。这是怎么了?@克里斯蒂娜哈克尔,我想因为我们一遍又一遍的告诉人们,你不能通过学习来学习C++。你需要读一本书,OP显然没有读到。
class B {
  A a_;
public:
  B(const A& a) : a_(a) {}
};