未使用的Visual Studio变量(4101)有时没有警告



当我在visual studio (2017 &2019年),我得到了不一致的警告。我创建的类的原语和实例似乎总是给出警告,而像std::vector这样的容器却没有得到警告。什么可能导致这种情况,是否有办法确保警告出现在静止的容器上?

例如,

// this creates a warning
void foo()
{
int my_int;
}
// this does not create a warning
void bar()
{
std::vector<int> my_vec;
}

声明stl变量时,将调用默认构造函数。因此,VS认为它们实际上是。所以,只有当你不做而声明(并赋值)一个变量时,VS才会给你警告。正如在评论中提到的,这都是关于初始化和销毁的。

最新更新