La variabile predefinita locale di una funzione C++ 11 __func__
non viene compilata in Visual Studio 2012 Professional (con l'aggiornamento 1 installato) con il Visualizzatore predefinito predefinito Compilatore Studio 2012 (v110) o CTP di novembre 2012 (v120_CTP_Nov2012). Tuttavia, l'editor non si lamenta di alcun sottotitolo rosso sotto __func__
. __func__
si suppone di dare il nome della sua funzione di contenimento, in questo caso foo
, ma questo né compila né rendere l'editor si lamentano:__func__ La variabile predefinita locale della funzione C++ 11, non verrà compilata
#include <iostream>
using namespace std;
void foo()
{
cout << __func__ << endl;
return;
}
int main()
{
foo();
return 0;
}
dà l'errore del compilatore:
error C2065: '__func__' : undeclared identifier
Manco qualcosa nel mio codice o funzionerà in un aggiornamento futuro?
[qui] (http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx?PageIndex=11) dice che il supporto è "parziale". Non sono sicuro di cosa si intenda per quello. –
"Tuttavia, l'editor non si lamenta di eventuali sottotitoli rossi sotto" __func__ "." - * Mai * fare affidamento su scarabocchi rossi per dirti se il tuo codice verrà compilato o meno. IntelliSense e l'attuale front-end del compilatore sono sviluppati da persone diverse. In caso di dubbio, il compilatore è corretto, perché è questo che crea i tuoi binari. – Xeo