【发布时间】:2013-07-01 10:22:31
【问题描述】:
我正在做一个包含两个类的项目:证据和图像(证据之子)
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&)
怎么了?我很困惑,以至于我伤害了自己。
【问题讨论】:
-
您的错误显示为“(A*&, B*&, C*&)”,因此您需要发布导致错误的确切代码。
-
这不是您遇到的确切错误:注意最后一条消息:“src/evidence/Image.h:22: error: expected `{' at end of input” 你可能有代码中的额外大括号,或类似的东西。
-
@Baltasarq 这是一个复制粘贴错误...这不影响。
-
@doctorlove 错误恰好出现在该行...在 cpp 文件中构造函数的定义中。
-
请创建一个sscce,像这里sscce.org
标签: c++ compiler-construction constructor inheritance