Lokalna predefiniowana zmienna funkcji nie jest kompilowana w Visual Studio 2012 Professional (z zainstalowaną aktualizacją 1) z domyślnym wbudowanym interfejsem Visual Kompilator Studio 2012 (v110) lub kompilator CTP z listopada 2012 (v120_CTP_Nov2012). Jednak redaktor nie narzeka z czerwoną falującą podkreśleniem pod numerem __func__
. __func__
ma podać nazwę swojej funkcji, zawierającego w tym przypadku foo
, ale to ani kompiluje ani uczynić edytora skarżą:__func__ Zmienna predefiniowana lokalna C++ 11, nie będzie kompilować
#include <iostream>
using namespace std;
void foo()
{
cout << __func__ << endl;
return;
}
int main()
{
foo();
return 0;
}
To daje błąd kompilatora:
error C2065: '__func__' : undeclared identifier
jestem brakuje coś w moim kodzie lub będzie to działało w przyszłej aktualizacji?
[tutaj] (http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx?PageIndex=11) mówi, że wsparcie jest "częściowe". Nie jestem pewien, co to oznacza. –
"Jednak redaktor nie narzeka z czerwoną falistą podkreśleniem pod' __func__'. " - * Nigdy * polegaj na czerwonych znakach, aby powiedzieć, czy Twój kod się skompiluje, czy nie. IntelliSense i rzeczywisty front-end kompilatora są opracowywane przez różne osoby. W razie wątpliwości kompilator jest poprawny, ponieważ to właśnie tworzy pliki binarne. – Xeo