我有一个与4373警告相关的问题。我希望禁用这个特定的警告。然而,#pragma
警告没有效果。我首先尝试在有问题的代码周围使用disable,然后是suppress,但两者都没有任何效果。我还尝试在派生方法和基本方法周围都使用disable,但也没有效果。如何专门禁用此警告?
编辑:是否有办法只针对某些特定函数禁用此警告,而不是全局禁用?
我有一个与4373警告相关的问题。我希望禁用这个特定的警告。然而,#pragma
警告没有效果。我首先尝试在有问题的代码周围使用disable,然后是suppress,但两者都没有任何效果。我还尝试在派生方法和基本方法周围都使用disable,但也没有效果。如何专门禁用此警告?
编辑:是否有办法只针对某些特定函数禁用此警告,而不是全局禁用?
您可以使用#pragma
在本地抑制该警告。
#pragma warning( push )
#pragma warning( disable : 4373 )
// Some code
#pragma warning( pop )
#include <stdio.h>
struct Base
{
virtual void f(int i) {
printf("base\n");
}
};
#pragma warning( push )
#pragma warning( disable : 4373 )
struct Derived : Base
{
void f(const int i) { // C4373
printf("derived\n");
}
};
#pragma warning ( pop )
void main()
{
Derived d;
Base* p = &d;
p->f(1);
}
/Wd4373
)。 - hmjd