如果变量未初始化,Visual Studio 2017 不会生成任何警告
Visual Studio 2017 does not generate any warnings if the variables are uninitialized?
Visual Studio的问题以及变量未初始化时的警告
我尝试了另一个像Clang这样的编译器。叮当能够生成警告。
//clang 3.8.0
//MSVS 2017
#include<iostream>
using namespace std;
class dummy
{
public:
void dummyFunction()
{
static_cast<int>(m_DummyVariable);
}
private:
double m_DummyVariable;
};
int main()
{
dummy obj;
double outside;
static_cast<int>(outside);
obj.dummyFunction();
return 0;
}
我预计会收到三个警告,因为在线叮当能够这样做。但是,在Visual Studio中,无论我在项目属性中设置的警告级别(1,2,3,4或所有警告选项(如何,我都无法收到任何警告。我必须更改项目的任何属性吗?
如果您右键单击您的项目并点击属性,请转到底部并单击代码分析。将规则集更改为"Microsoft所有规则"以及勾选框以在构建上运行代码分析,使我出现警告。值得注意的是,一旦我将外部变量发送到标准输出,Visual Studio 就会抛出警告和错误。
相关文章:
- 在非constexpr函数上添加的constexpr限定符不会触发任何警告
- 为什么 gcc 和 clang 都没有发出任何警告?
- 是否有任何编译器标志可以在下面的代码中用于报告有关 UB 的警告?
- 如何在程序崩溃时关闭程序,没有任何警告屏幕等.C++窗口
- 是否有任何C++编译器可以发出悬而未决的引用警告?
- 如果变量未初始化,Visual Studio 2017 不会生成任何警告
- 如何使用GSL :: SPAN来修复任何数组以降低指示警告
- 海湾合作委员会警告"没有声明任何东西
- 为什么_Printf_format_string_宏不产生任何警告?
- GTK图像突然不会刷新任何错误或警告
- 为什么 G++ 不为不返回任何内容的模板方法生成警告?
- 是否有任何工具可以警告可能滥用删除或删除[]
- 将 NULL 作为对象返回时未收到任何警告
- 是否有任何方法可以避免警告/错误模板实例化回溯
- 为什么"constructor invocation"不触发任何编译器 (g++) 警告?
- 该函数 int f() 没有警告不返回任何值?
- 是否有任何编译器或选项来触发对无意义和有错误的switch语句的警告
- 如何在c++中从(void *)重新输入到int而不收到任何警告,当编译迂腐的标志
- Decltype (auto) foo()返回本地引用,没有任何警告
- cc1plus:无法识别的命令行选项警告任何其他警告