deprecated (C++)

(特定的 Microsoft)下面所述的例外狀況與已被取代的 宣告提供了與相同的功能 已被取代的 pragma:

  • 已被取代的宣告,讓您指定的函式多載的特定表單做為被取代,而 pragma 表單會套用到所有多載型式的函式名稱。

  • 已被取代的宣告可讓您指定在編譯時期將會顯示一個訊息。訊息的文字可以從 [巨集。

  • 巨集可以只會將標記為已被取代的已被取代的 pragma。

如果編譯器遭遇的是已被取代的識別項,使用 C4996 警告則會擲回。

範例

下列範例顯示如何下標記為過時,函式,以及如何指定在編譯時期,只有在已被取代的函式使用時要顯示的訊息。

// deprecated.cpp
// compile with: /W3
#define MY_TEXT "function is deprecated"
void func1(void) {}
__declspec(deprecated) void func1(int) {}
__declspec(deprecated("** this is a deprecated function **")) void func2(int) {}
__declspec(deprecated(MY_TEXT)) void func3(int) {}

int main() {
   func1();
   func1(1);   // C4996
   func2(1);   // C4996
   func3(1);   // C4996
}

下列範例顯示如何類別下標記為過時,以及如何指定在編譯時期,只有在已取代的類別使用時要顯示的訊息。

// deprecate_class.cpp
// compile with: /W3
struct __declspec(deprecated) X {
   void f(){}
};

struct __declspec(deprecated("** X2 is deprecated **")) X2 {
   void f(){}
};

int main() {
   X x;   // C4996
   X2 x2;   // C4996
}

請參閱

參考

__declspec

C + + 關鍵字