2011-01-27 3 views
5

dans Visual Studio est-il possible de #deprecated une fonction, basée sur la signature de la fonction et pas simplement le nom?#pragma déprécie une fonction basée sur la signature?

Dans mon cas, nous sommes en C++ et ne voulons pas désapprouver toutes les saveurs de la fonction

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

Répondre

12

Il suffit de faire ceci:

__declspec(deprecated) void foo(int) {} 

Et si vous voulez que le compilateur de générer un message spécifique lors de la compilation d'une fonction dépréciée, faites ceci:

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

Me battre d'environ 40 secondes. Allez au diable! +1 :) –

Questions connexes