Angenommen, ein C ++ - Compiler kompiliert eine Funktion, deren Definition in derselben Übersetzungseinheit wie ihr Aufruf verfügbar ist. Nehmen wir an, dass es sich nicht selbst wirft oder eine Funktion aufruft, von der es weiß, dass sie geworf...
Ich möchte das tun:
%Vor%
Aber ich bekomme einen Fehler "Ausnahme-Spezifikationen sind in Typ-Aliasen nicht erlaubt." (klingelt in Version 6.1 von Xcode)
Gibt es eine Problemumgehung, um einen Alias mit einem noexcept-Spezifizierer zu e...
Für den folgenden Code
%Vor%
Visual Studio 14 CTP gibt die Warnung aus
Warnung C4297: 'X :: X': Funktion angenommen, keine Ausnahme zu werfen, aber
tut
Hinweis: __declspec (nothrow), throw (), noexcept (true) oder noexcept war...
Angenommen, ich habe einen Wrappertyp
%Vor%
und ich kann nicht einfach X(X&&) = default , weil ich dort nicht-triviale Sachen machen muss.
Ich möchte jedoch, dass es noexcept ist, aber nur, wenn T(T&&) noexcept...
Ich habe versucht, das Beispiel auf Seite 91 von Effective Modern C ++ zu bestätigen, und ich stieß auf ein seltsames Problem. Dieser Code
%Vor%
Gibt mir einen Fehler wie
error: Anforderung für das Element 'front' in 'a', das nicht vom...
Ich habe ein Problem, das das .
Kurz gesagt, ich habe eine Methode magic , die noexcept ist, wenn eine andere Methode noexcept ist.
Das Seltsame ist, dass diese "andere Methode" zwei Überladungen hat und der Compiler wählt die zw...
Die folgende Struktur kann nicht unter C ++ 11 kompiliert werden, da ich den Verschiebezuweisungsoperator als noexcept : deklariert habe
%Vor%
Der Standard-Bewegungszuweisungsoperator, der vom Compiler generiert wird, ist noexcept(false)...
Dieser Code wird kompiliert und ausgeführt, wobei int : geworfen wird
%Vor%
Allerdings möchte ich, dass der Compiler die Zeile r(foo); ablehnt, weil r nur eine noexcept -Funktion übergeben soll. Der noexcept -Ausdruck wird igno...