我正在使用visual studio 2013并在这种情况下收到很多C4100警告
void destroy(pointer p) {//warning C4100
p->~T();
}
我不明白为什么。我的问题如果没有#pragma警告(平台独立性,可读性),我怎么能避免这个警告?
答案 0 :(得分:4)
这是一个Visual Studio bug/limitation。
当代码在原始类型的其他未引用参数上调用析构函数时,也可以发出C4100。 这是Visual C ++编译器的限制。
应该有bug报告,但我现在无法找到它。
<强>解决方法:强>
参考p
否则:
void destroy(pointer p) {
p; //resolve warning C4100
p->~T();
}
禁用警告:
/W4
或/wd4100
或#pragma warning(disable : 4100)
使用其他编译器。