編譯器錯誤 C3163
'construct': 屬性與先前的宣告不一致
套用至定義的屬性與套用至宣告的屬性(s) 衝突。
解決 C3163 的其中一種方法是消除正向宣告上的屬性。 正向宣告上的任何屬性應該小於定義上的屬性,或最多等於這些屬性。
C3163 錯誤的可能原因涉及Microsoft原始程式碼註釋語言 (SAL)。 除非您使用 /analyze
旗標編譯項目,否則 SAL 巨集不會展開。 /analyze
如果您嘗試使用 /analyze
選項重新編譯 C3163,則不一定會擲回 C3163 的程式。 如需 SAL 的詳細資訊,請參閱 SAL 註釋。
範例
下列範例會產生 C3163。
// C3163.cpp
// compile with: /clr /c
using namespace System;
[CLSCompliant(true)] void f();
[CLSCompliant(false)] void f() {} // C3163
// try the following line instead
// [CLSCompliant(true)] void f() {}