我试图覆盖抽象基类的所有方法,但我没有得到所有的东西。
我使用msbuild构建项目,该项目由cmake生成。
MSVC ++ 2012编译器抱怨错误error C2259: 'Derived' : cannot instantiate abstract class
。
所以问题是,如何强制编译器告诉我缺少的方法名称,该类不再是抽象的(并且所有方法都已指定)?
答案 0 :(得分:4)
查看“输出”窗口,而不是“错误列表”。例如,我的错误列表是:
error C2259: 'Derived' : cannot instantiate abstract class
但我的输出说:
1>c:\users\documents\visual studio 2012\projects\testcpp\test.cpp(18): error C2259: 'Derived' : cannot instantiate abstract class
1> due to following members:
1> 'void Base::bar(void)' : is abstract
1> c:\users\documents\visual studio 2012\projects\testcpp\test.cpp(8) : see declaration of 'Base::bar'
许多MSVC错误消息提供了后续行的详细信息,不幸的是,这些消息通常不会进入错误列表。