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