Suchergebnisse für Anfrage "overload-resolution"

1 die antwort

Aufruf der mit ref-Qualifiers überladenen Member-Funktion ist mehrdeutig

Beim Kompilieren meines Codes mit habe ich ein seltsames Verhalten festgestelltG ++ (gcc4.8.1 undMinGW4.8.2 mit-std=gnu++1y Flagge). Im Geiste der SSCCE isoliere ich das folgende Snippet: struct C { template< typename X > auto f(X &&) const & { ...

2 die antwort

Wenn die Adresse einer Funktion während der Deduktion nicht aufgelöst werden kann, liegt ein SFINAE- oder ein Compilerfehler vor?

In C ++ 0x wurden SFINAE-Regeln so vereinfacht, dass ungültige Ausdrücke oder Typen, die im "unmittelbaren Kontext" des Abzugs auftreten, nicht zu einem Compilerfehler, sondern zu einem Abzugsfehler (SFINAE) führen. Meine Frage lautet: Wenn ich ...

1 die antwort

Eigenartige Überlastungsauflösung mit while (true)

Ich habe Synchronisierungs- / Asynchronisierungsüberladungen implementiert, als ich auf diese besondere Situation gestoßen bin: Wenn ich einen regulären Lambda-Ausdruck ohne Parameter oder einen Rückgabewert habe, geht er an denRun Überladung ...

TOP-Veröffentlichungen

4 die antwort

Bestimmen, welche Überlastung ausgewählt wurde

Nehmen wir an, ich habe eine willkürlich komplizierte überladene Funktion: template <class T> void foo(T&& ); template <class T> void foo(T* ); void foo(int );Ich möchte für einen bestimmten Ausdruck wissen,welch foo() wird gerufen. Zum ...

3 die antwort

Mehrdeutiger Methodenaufruf mit Überladung des Parameters Action <T>

Beim Aufrufen einer überladenen Methode mit einem anderen Compiler ist ein unerwartetes Verhalten aufgetretenAction<T> Variationen. Nehmen wir an, ich habe diese KlasseTest und ich erstelle seine Instanz in derCallTest Konstrukteur. public ...

3 die antwort

String-Literal entspricht der Bool-Überladung anstelle von std :: string

8 die antwort

Wie wird "std :: cout << std :: endl;" kompiliert?

Die meistenIO Stream-Manipulatoren [http://en.cppreference.com/w/cpp/io/manip] sind reguläre Funktionen mit folgender Signatur: std::ios_base& func( std::ios_base& str );Allerdings einige Manipulatoren (einschließlich der am häufigsten ...

2 die antwort

List-Initialisierung und fehlgeschlagene Überladungsauflösung des Konstruktors initializer_list

Das Folgende kann nicht mit @ kompiliert werdclang35 -std=c++11: #include <iostream> #include <string> #include <initializer_list> class A { public: A(int, bool) { std::cout << __PRETTY_FUNCTION__ << std::endl; } A(int, double) { std::cout << ...

6 die antwort

Warum passt der Konstruktor der variablen Vorlage besser als der Konstruktor der Kopie?

Der folgende Code wird nicht kompiliert: #include <iostream> #include <utility> struct Foo { Foo() { std::cout << "Foo()" << std::endl; } Foo(int) { std::cout << "Foo(int)" << std::endl; } }; template <typename T> struct Bar { Foo foo; Bar(const ...

6 die antwort

Warum wird eine generische Methode gewählt, wenn es eine nicht generische gibt?

Das folgende Programm erzeugt diese Ausgabe: Foo<T> called Process is terminated due to StackOverflowException.So,Foo(baz) ruft das generische @ aFoo<T>, aberBar(baz) rekursiv und machtnich AnrufBar<T>. Ich bin auf C # 5.0 und Microsoft .NET. ...