0
我在Arduino中创建了一些项目。 而且,我遇到以下问题。使用参数初始化另一个类构造函数中的对象
有一个在头文件中的B类B.h
class B {
private:
int n;
public:
B(int);
init();
}
然后,有在头文件中A类A.h
class A {
private:
B b;
public:
A();
init();
}
而且,这里的文件A.cpp
Class A
构造函数定义
#include <B.h>
A::A() {
b(3);
}
这是给我的错误
../A.cpp: In constructor 'A::A()':
../A.cpp:12: error: no matching function for call to 'B::B()'
note: candidates are: B::B(int)
我想,这是因为我没有在class B
定义的默认构造函数(不带参数)。
但是,有没有我初始化对象b在class A
构造函数与参数3?
然后,为什么编译器仍然是默认构造函数?
哇,这工作。但请解释一下这是什么样的说法?而且,它是如何工作的。我从来没有遇到像这样的陈述。 – Akshat
查看顶部的编辑 – SHR
那么,这个声明有没有任何名字?你会怎么称呼它? – Akshat