Suchergebnisse für Anfrage "overload-resolution"
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 << ...
Warum hat der Pointer Decay Vorrang vor einer abgeleiteten Vorlage?
Angenommen, ich schreibe eine Funktion zum Drucken der Länge einer Zeichenfolge: template <size_t N> void foo(const char (&s)[N]) { std::cout << "array, size=" << N-1 << std::endl; } foo("hello") // prints array, size=5Nun möchte ...
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 & { ...
Priorität der Listeninitialisierung von Objekt des gleichen Typs
#include <iostream> #include <initializer_list> using namespace std; struct CL { CL(){} CL (std::initializer_list<CL>){cout<<1;} CL (const CL&){cout<<2;} }; int main() { CL cl1; CL cl2 {cl1}; //prints 21 }Hier ist CL struct mit Copy-Konstruktor ...
Wie funktioniert die Ableitung von Vorlagenargumenten, wenn eine überladene Funktion als Argument beteiligt ist?
Dies ist das anspruchsvollere Frage erwähnt inWie funktioniert die Überladungsauflösung, wenn ein Argument eine überladene Funktion ...
Überladene Lambdas in C ++ und Unterschiede zwischen clang und gcc
Ich spiele mit einem Trick, um Lambdas in C ++ zu überladen. Speziell // For std::function #include <functional> // For std::string #include <string> // For std::cout #include <iostream> template <class... F> struct overload : F... { ...
SFINAE passiert nicht mit std :: basic_type
Below SFINAE-Code mit verschiedenen Vorlagen lässt sich mit clang 3.7.1, C ++ 14 gut kompilieren: #include <array> #include <iostream> #include <vector> #include <cstdint> enum class Bar : uint8_t { ay, bee, see }; struct S { static void foo() ...
Warum wird ein Wert einer Aufzählung mit einem festgelegten zugrunde liegenden Typ von Zeichen in fct (int) anstelle von fct (char) aufgelöst?
Dieses Problem trat bei der Beantwortung aufDiese Frage zur Überlastungsauflösung mit Aufzählungen.Während der Fall für