2011-01-27 65 views
5

在Visual Studio中是否可以根據函數的簽名而不是簡單的名稱來#deprecated函數?#pragma棄用基於簽名的函數?

在我的情況下,我們是在C++和不想棄用功能

int foo();  <-- we want to keep 
int foo(int x); <-- we want to deprecate 

回答

12

的所有口味的只是這樣做:

__declspec(deprecated) void foo(int) {} 

如果你想編譯器生成一個特定消息編譯過時功能,然後執行此操作:

__declspec(deprecated("foo(int) is a deprecated function.")) void foo(int) {} 
+1

打了我40秒。該死的你! +1 :) – 2011-01-27 18:02:41