删除前向声明的指针时没有警告 (Visual Studio)
No warning on deleting a forward declared pointer (Visual Studio)
删除前向声明的指针会导致未定义的行为。
示例:
但是,我的 Visual Studio (VS2012) 编译器没有警告我。
- 这是一个不固定的VS2012 compiler bug吗?
- 我是否禁用了(or never enable)相应的警告?
- 这是否特定于某些项目设置?
- Visual Leak Detector 提示了我这个问题,但是是否有某种方法(pragma、代码、宏等)可以在编译时检测到这个问题?
相应的警告是C4150
。
默认情况下它应该是活动的并且它被归类为警告级别 2(它也应该是活动的,因为默认警告级别是 W3
afaik)。
注意:不要降低警告级别,而是尝试在特定情况下使用 pragma 警告。
删除前向声明的指针会导致未定义的行为。
示例:
但是,我的 Visual Studio (VS2012) 编译器没有警告我。
- 这是一个不固定的VS2012 compiler bug吗?
- 我是否禁用了(or never enable)相应的警告?
- 这是否特定于某些项目设置?
- Visual Leak Detector 提示了我这个问题,但是是否有某种方法(pragma、代码、宏等)可以在编译时检测到这个问题?
相应的警告是C4150
。
默认情况下它应该是活动的并且它被归类为警告级别 2(它也应该是活动的,因为默认警告级别是 W3
afaik)。
注意:不要降低警告级别,而是尝试在特定情况下使用 pragma 警告。