是否可以#deprecated一个函数,基于函数的签名而不仅仅是名称?
就我而言,我们使用的是C ++,并且不想弃用函数的所有版本
int foo(); <-- we want to keep
int foo(int x); <-- we want to deprecate
答案 0 :(得分:12)
这样做:
__declspec(deprecated) void foo(int) {}
如果您希望编译器在编译已弃用的函数时生成特定的消息,请执行以下操作:
__declspec(deprecated("foo(int) is a deprecated function.")) void foo(int) {}
答案 1 :(得分:3)
deprecated may also be specified in a __declspec()
,(甚至比#pragma
更好,因为它可以让您根据需要提供理由。