[英]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.