Warum funktionieren >?=
und <?=
nicht in VC++? aber sie funktionieren gut in gcc/g ++ wie: a>?=b
; sind sie richtige Verwendungen?Warum>? = Und <? = Funktionieren nicht in VC++?
Antwort
Da sind die alten GC++-specific extensions für Minimum und Maximum.
Von 6. Extensions to the C++ Language:
Der GNU Compiler stellt diese Erweiterungen der Sprache C++ (und auch die meisten der C-Spracherweiterungen in C++ Programme verwenden können). Wenn Sie Code schreiben möchten, der prüft, ob diese Funktionen verfügbar sind, können Sie den GNU-Compiler genauso wie für C-Programme testen: Suchen Sie nach einem vordefinierten Makro
__GNUC__
. Sie können auch__GNUG__
verwenden, um speziell für GNU C++ zu testen (siehe Abschnitt 'Vordefinierte Makros' in Der GNU C-Präprozessor).
- 6.1 Minimum and Maximum Operators in C++ C++ Minimal- und Maximal Betreiber.
- ...
Stattdessen sollten Sie std::min
und std::max
verwenden.
Diese Operatoren sind nicht standardisiert und werden in GCC nicht weiter unterstützt. Sie werden überhaupt nicht mehr in G ++ unterstützt. Sie sollten stattdessen std :: min und std :: max verwenden. Achten Sie darauf, NOMINMAX auf disable the window-specific macros zu setzen, die mit ihnen in Konflikt stehen.
- 1. Warum funktionieren <C-PageUp> und <C-PageDown> nicht in vim?
- 2. wxWidgets und VC++
- 3. Simple Sleep() funktioniert nicht in VC++
- 4. `dismissViewControllerAnimated: Abschluss:“ entlässt Tastatur und VC nicht
- 5. VC++: Hintergrundarbeiter stoppt nicht
- 6. emplace_back und VC++ Frustration
- 7. Android-Stile funktionieren nicht korrekt in API <21
- 8. VC++ Kommentare, Dokumentation und IntelliSense
- 9. VC++ 2015 nicht verknüpfen, aber VC++ 2012 tat
- 10. URL und cname funktionieren nicht
- 11. ResultCode und RequestCode funktionieren nicht
- 12. Velocity und AddForce() funktionieren nicht in Unity
- 13. wie man Kennwortfeld und -knopf in vC++
- 14. Kann Arbeitsbereich in VC++ nicht laden 6
- 15. Timer in VC++ für Nicht-GUI-Anwendungen
- 16. Kann von <module> importieren * manchmal nicht funktionieren?
- 17. Verwendung von Threads und Warteschlange in VC++
- 18. kann nicht Länge der Zeichenfolge in VC++
- 19. Schnelle Frage: Warum funktionieren VC++ kompilierte Exe nicht mehr, wenn ich ihre Namen ändere?
- 20. funktionieren nicht in Mysql
- 21. MS VC++ wie DLL ohne vc redist erstellen
- 22. getopt() in VC++
- 23. Konstruktor Eingabefehler in VC++
- 24. Wann wird <td valign = "top"> nicht funktionieren?
- 25. Funktionieren Indizes in NOT IN oder <> Klausel?
- 26. Problem mit Verzeichnissen und Dateiauswahl (VC++ 2008)
- 27. Verwenden Sie VC++ 2010 Laufzeitbibliotheken in VC++ 2008 Projekt
- 28. Ausnahmefehler c0000005 in VC++
- 29. Auto vervollständigen in VC++
- 30. DrawItem in Listbox (VC++)
Was macht es in gcc? Habe das noch nie gesehen. –
Wenn diese Regeln veraltet sind, wie bdonlan sagt, würde ich erwarten, dass g ++ eine Warnung ausgibt, wenn Sie sie verwenden. Ich empfehle das Kompilieren mit "-Wall" (warne alle, d. H. Zeige alle Warnungen) und versuche Code zu schreiben, der keine Warnungen erzeugt. Kann jemand bestätigen, dass g ++ eine Warnung ausdruckt, wenn Sie diese Operatoren verwenden? – MatrixFrog
a>? = B <==> a = MIN (a, b) Ich benutze vim mit g ++ und kompiliere mit "-Wall", aber ich sehe nie eine Warnung. –