deprecated (C++)
(特定于 Microsoft 的) 有以下例外, 已弃用 声明提供功能和 已弃用 说明相同:
已弃用 声明允许您指定函数重载的特定形式为已弃用,,而说明窗体应用于函数名的所有重载形式。
已弃用 声明允许您指定将在编译时的消息。消息的文本可以是从宏。
宏只能被标记为已弃用与 已弃用 说明。
如果编译器遇到使用一个已弃用的标识符, 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
}