簡體   English   中英

C ++中繼承類的構造方法

[英]Constructor of a inherited class in C++

我正在做一個包含兩個類的項目:證據和圖像(證據之子)

證據的構造函數為:

Evidence(A* a, B* b, C* c);

繼承的類Image的構造函數為:

Image(A* a, B* b, C* c): Evidence(a,b,c){... code...}

編譯器向我拋出以下錯誤:

In file included from src/evidence/Image.cpp:8:
src/evidence/Image.h:22: error: no matching function for call to
'Evidence::Evidence(A*&, B*&, C*&)'
src/evidence/Evidence.h:35: note: candidates are: Evidence::Evidence(A*, B*, C*)
src/evidence/Evidence.h:21: note: Evidence::Evidence(const Evidence&)

怎么了? 我很困惑,我受傷了。

聲明Evidence構造函數,但實際上並未定義它。

更換:

Evidence(A* a, B* b, C* c);

帶有:

Evidence(A* a, B* b, C* c) {}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM