0

Evidence と Image(Son of Evidence) の 2 つのクラスを含むプロジェクトを実行しています。

Evidence のコンストラクターは次のとおりです。

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&)

なにが問題ですか?私は自分自身を傷つけるほど混乱しています。

4

1 に答える 1

0

コンストラクターを宣言しましたが、実際には定義Evidenceしていません。

交換:

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

と:

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

于 2013-07-01T22:02:04.910 に答える