避免visual studio中的恶劣警告C4100

Avoid nasty warning C4100 in visual-studio

本文关键字:警告 C4100 visual studio 避免      更新时间:2023-10-16

我使用visual studio 2013,在这种的情况下收到了很多C4100警告

void destroy(pointer p) {//warning C4100
     p->~T(); 
}

我不明白为什么。我的问题是,如果没有#pragma警告(平台独立性、可读性),我该如何避免此警告?

这是一个Visual Studio错误/限制。

当代码对基元类型的未引用参数调用析构函数时,也可以发出C4100这是Visual C++编译器的限制

应该有错误报告,但我现在找不到。

解决方法:

  1. 参考p,否则:

    void destroy(pointer p) {
        p;         //resolve warning C4100
        p->~T(); 
    }
    
  2. 禁用警告:

    • 不使用/W4编译或
    • 使用/wd4100
    • 添加#pragma warning(disable : 4100)
  3. 请使用另一个编译器。