2013-07-19 29 views
6

Czy można wyłączyć funkcje C++ 11 w VS2012? Mój kod nie jest gotowy do tego jeszcze i chciałbym, aby nie wprowadzać dalszych nieporozumieńWyłączanie funkcji C++ 11 w VS2012

+0

Czy podejście wspomnieć [tutaj] (http://stackoverflow.com/a/3536297/519383) W komentarzu pomocy (tj przy użyciu kompilatora VS2008 za pośrednictwem VS2012)? –

+0

Chciałbym również wiedzieć, czy jest to możliwe na VS2010, przepraszam za przejęcie. – Twifty

+0

http://stackoverflow.com/questions/3536029/disabling-c0x-features-in-vc-2010 –

Odpowiedz

0

W Visual C++ 2015 Update 3, jest obecnie możliwe, aby określić wersję językową dla zachowania języka (widocznie nie wpływa to tylko potwierdzeń, sprawdzanie):

https://blogs.msdn.microsoft.com/vcblog/2016/06/07/standards-version-switches-in-the-compiler/

Niestety jedyne opcje są "C++ 14" (nie dokładnie, zawiera funkcje po C++ 14, które wcześniej zostały wysłane) i "C++ Latest" (C++ 14 plus częściowa implementacja C++ 17 i propozycje, ale nie "eksperymentalne" funkcje)

Odpowiednie przełączniki linii poleceń to:

  • /std:c++14
  • /std:c++latest
0

prawym przyciskiem myszy projekt -> Właściwości -> Ogólne -> Platforma Toolset -> Visual Studio 2010

To skompiluje projekt z kompilatorem Visual Studio 2010.

+4

Ale, VS2010 ma również ograniczone C++ 11. – Twifty

+1

i musisz mieć kompilator konfiguracji VS'10 w twoim systemie. Nie obejmuje to VS'12 – alexbuisson

+0

@Waldermort Jest też VS2008, który nie ma żadnego C++ 11 – Caesar

-1

Tak, można wyłączyć funkcje C++ 11 w kompilatorze Visual C++. Opcja kompilatora /Tc spowoduje błędy w składni C++ 11.

Niestety, C++ 03 i C++ 98 będą obrażeniami dodatkowymi. Pozostaje tylko C89 plus kilka rozszerzeń Microsoftu, takich jak wsparcie dla //single line comments.

+4

Myślę, że ważne jest, aby wyjaśnić więcej, że Tc obniży się do C. To nie tylko ty tracisz C++, ale tracisz C++ razem. –

+0

@Csaba: Tak, zgadza się.Czy mój drugi akapit oznaczał dla ciebie coś innego? –

+0

Nie rozumiem, co tu słychać. –