C6501
警告 C6501: 附註衝突: <name> 屬性與之前指定的屬性發生衝突
注意事項 |
---|
這項警告只發生在使用不建議原始程式碼附註語言的程式碼 (SAL) 版本。建議您移植程式碼以使用 SAL 最新的版本。如需詳細資訊,請參閱使用 SAL 註釋減少 C/C++ 程式碼的缺失。 |
這則警告表示附註中有衝突屬性。這則警告通常會發生在使用多個提供類似用途的屬性來加註參數或傳回值時。若要更正這則警告,必須選擇最符合您需要的屬性。
範例
下列程式碼會產生這則警告,原因在於 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[] );