如何展示"未实现的纯虚拟"在2015年的视觉工作室?

时间:2017-03-13 14:03:17

标签: c++ visual-studio visual-studio-2015 compiler-errors

我想在visual studio 2015上显示此警告/错误(在clang中):

/home/travis/build/x/x/src/guiComboBox.cpp:454:19: error: 

      allocating an object of abstract class type 'GUIListBox'

                m_listbox = new GUIListBox(Environment, this, -1, r, fal...

                                ^

/usr/include/y/IGUIListBox.h:88:16: note: unimplemented pure virtual

      method 'setItemOverrideColor' in 'GUIListBox'

                virtual void setItemOverrideColor(u32 index, const video...

                             ^

/usr/include/y/IGUIListBox.h:91:16: note: unimplemented pure virtual

      method 'setItemOverrideColor' in 'GUIListBox'

                virtual void setItemOverrideColor(u32 index, EGUI_LISTBO...

我在clang中有这个错误但在visual studio 2015中没有。有人可以帮助我吗?

3 个答案:

答案 0 :(得分:3)

Visual Studio将显示以下错误:

A

答案 1 :(得分:3)

在此实例中需要C ++编译器来发出诊断,并且MSVC2015符合该诊断。所以你的不同之处在于你没有编译你认为你正在编译的东西。

如果您希望IDE标记潜在的错误,那么您可能也会失败。由于C ++语法的怪癖(对于基于奇怪的重复模板模式的酒吧测验尝试一些东西),完全普遍地发现未实现的纯虚函数是不可能的。出于兴趣,Java编译器发现它很容易。

答案 2 :(得分:0)

我发现问题出在哪里。在travis中,库的版本和此类方法的原型是不同的。谢谢你的帮助