C6501
警告 C6501:批注冲突: <name> 属性与以前指定的属性冲突
此警告意味着批注中存在冲突的属性。 当使用具有类似用途的多个属性对参数或返回值进行批注时,通常会出现此警告。 若要更正此警告,必须选择最满足需要的属性。
示例
在下面的代码中,因为 ValidElementsConst 和 ValidBytesConst 都提供读取有效数据的机制,所以会生成此警告:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void fd([SA_Pre(ValidElementsConst =4, ValidBytesConst =4)] char pch[]);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f( [Pre(ValidElementsConst=4, ValidBytesConst=4 )] char pch[] );
若要更正此警告,请使用最适合的属性,如下面的代码所示:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f( [SA_Pre(ValidElementsConst=4)] char pch[] );
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f( [Pre(ValidElementsConst=4)] char pch[] );