2011-01-27 6 views
5

は、単に名前ではなく関数の署名に基づいて関数を#deprecatedすることは可能ですか?#pragma署名に基づいて関数を非難しますか? Visual Studioの

__declspec(deprecated) void foo(int) {} 

をそして、あなたがしたい場合は、コンパイラが生成する:私の場合は

我々はC++でいると機能

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

答えて

12

のすべての味を廃止したくないだけでこれを行いますa specificメッセージ:非推奨機能をコンパイルするときは、次のようにしてください。

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

約40秒で私を倒してください。いまいましい! +1 :) –

関連する問題