Suchergebnisse für Anfrage "name-lookup"

8 die antwort

Warum findet ADL keine Funktionsvorlagen?

Welcher Teil der C ++ - Spezifikation beschränkt die argumentabhängige Suche darauf, Funktionsvorlagen in der Menge der zugeordneten Namespaces zu finden? Mit anderen Worten, warum wird der letzte Aufruf inmain unten nicht kompilieren? namespace ...

2 die antwort

Zwei-Phasen-Namenssuche für C ++ - Vorlagen - Warum?

Warum definiert der C ++ - Standard eine zweiphasige Suche nach Vorlagen? Konnten nicht auch Suchvorgänge für nicht abhängige Deklarationen und Definitionen ...

3 die antwort

Abgeleiteter Zugriff der Vorlagenklasse auf Basisklassenmitgliedsdaten

Diese Frage ist eine Weiterentwicklung der indieser Thread.Verwenden der folgenden Klassendefinitionen:

TOP-Veröffentlichungen

3 die antwort

Operator im Namespace-Bereich, der einen anderen im globalen Bereich versteckt

Ist das ein Compiler-Bug?

6 die antwort

Rückgabetyp des bedingten Operators und zweiphasige Suche

Betrachten Sie das folgende Snippet: struct Base { }; struct Derived : Base { }; void f(Base &) { std::cout << "f(Base&)\n"; } template <class T = int> void g() { Derived d; f(T{} ? d : d); // 1 } void f(Derived &) { std::cout << ...

3 die antwort

Warum schattenfreie Funktionen für Klassenmitglieder mit demselben Namen?

Es ist mir kürzlich aufgefallen dieses Mitglied funktioniertvollständigSchatten freie Funktionen mit dem gleichen Namen innerhalb der Klasse. Und damit meine...

2 die antwort

Ambiguous Name Lookup mit using-Direktive

Es ist nicht zulässig, einen Namespace und eine Klasse mit demselben Namen in einen deklarativen Bereich zu setzen, d. H. namespace A {} class A{};ist schlecht geformt [http://coliru.stacked-crooked.com/a/5b837907b4d0609c] (siehe §3.3.1 / 4). ...

6 die antwort

Name Suche und Klassenbereich

Warum ist der Rückgabetyp von setVal vom Typ string und der Parametertyp vom Typ double typedef string Type; Type initVal(); class Exercise { public: typedef double Type; Type setVal(Type); Type initVal(); private: int val; }; ...

4 die antwort

Warum ist dieser Aufruf von swap () nicht eindeutig?

Das folgende Programm #include <algorithm> #include <utility> #include <memory> namespace my_namespace { template<class T> void swap(T& a, T& b) { T tmp = std::move(a); a = std::move(b); b = std::move(tmp); } template<class T, class Alloc ...

7 die antwort

Übertragen von 'typedef' von basierend auf abgeleitete Klasse für 'template'

Ich versuche, eine Basisklasse zu definieren, die nur typedefs enthält.