2013-05-12 50 views
11

Używam C++ 11 przy użyciu Qt Creator.Używając Qt Creator C++ 11, nullptr jest słowem kluczowym?

"warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]" 
"error: 'nullptr' was not declared in this scope" 

To jest kod, który działa w innym miejscu, w odpowiedniej części są:

... = nullptr; 

Co może być problemem?

Czy to nie jest słowo kluczowe, czy nie jest to zasięg globalny?

+1

Czy kompilacji jak C++ 11? '-std = C++ 11'? –

+0

Jak mogę powiedzieć? – alan2here

+0

To tylko ostrzeżenie, aby uniemożliwić użytkownikom, że kod może nie działać z C++ 11. – Morwenn

Odpowiedz

24

Otwórz plik .pro od wewnątrz Qt Creator i dodaj

QMAKE_CXXFLAGS += -std=c++0x 
+0

lub '-std = C++ 11' dla GCC> = 4.7. – Mat

+0

@Mat AFAK uruchamia ten sam zestaw funkcji niezależnie od używanej flagi, ale 'C++ 0x' jest również zgodny ze starszą wersją, taką jak gcc 4.6.x – user2348816

+3

' CONFIG + = C++ 11' dla 'Qt 5' – Lol4t0