Suchergebnisse für Anfrage "templates"

4 die antwort

Hol die vorzeichenlose / vorzeichenlose Variante eines ganzzahligen Vorlagenparameters ohne explizite Merkmale

Ich möchte eine Template-Klasse definieren, deren Template-Parameter immer ein Integer-Typ ist. Die Klasse enthält zwei Mitglieder, eines vom TypT und die andere als vorzeichenlose Variante vom TypT - d. h. wennT == int, dannT_Unsigned == ...

2 die antwort

new von unvollständigen Typ kompiliert, wenn in Vorlage eingewickelt

Betrachten Sie diesen Code mit einem offensichtlichen Kompilierungsfehler: (1) struct A; struct B { B() { new A(); } // error: allocation of incomplete type 'A' };Verwendung einerunique_ptr wird auch nicht helfen: (2) struct A; struct B { B() { ...

2 die antwort

Können Sie Typen aus der Signatur der Vorlagenparameterfunktion extrahieren

Gibt es eine Möglichkeit, die Typen aus einer Funktionssignatur in der Form @ zu extrahierefoo(bar) und erhalten Sie Zugriff auf nurfoo oderbar. Also wenn ich die Vorlage habe: template<typename signiture> class type{ };where signiture ...

TOP-Veröffentlichungen

2 die antwort

C ++ 11: SFINAE in Vorlagenparametern, GCC vs Clang [duplizieren]

Diese Frage hat hier bereits eine Antwort: Gibt es einen Compiler-Fehler, der durch die Implementierung eines Merkmals vom Typ is_complete aufgedeckt ...

4 die antwort

“Template <>” vs “template” ohne Klammern - was ist der Unterschied?

Angenommen, ich habe erklärt: template <typename T> void foo(T& t);Now, was ist der Unterschied zwischen template <> void foo<int>(int& t);un template void foo<int>(int& t);semantically? Und haben Template-with-no-Brackets und ...

2 die antwort

Warum wird die Template-ID in "A <0> = 0" aufgrund des Operators "> =" nicht ohne Leerzeichen kompiliert?

template <int> using A = int; void f(A<0>=0); // Attempting to declare a function f taking int, // with the default argument 0 // Works as expected: // void f(A<0> = 0);Dies kompiliert auch nicht aufGCC 4.9.2 noch Clang ...

8 die antwort

Kann ich decltype (oder etwas ähnliches) für die explizite Instanziierung von Vorlagen ohne Signaturduplikation verwenden?

Ich möchte instanziieren template<typename T> void foo( T& t, SomeType some_parameter, AnotherType another_parameter, EtcType yet_another_parameter, AsYouCanTell this_is_a_very_long_signature);das ist eine Funktion mit einer langen ...

6 die antwort

Calling Template Funktion ohne <>; Typinferenz

Wenn ich eine Funktionsvorlage mit @ hatypename T, wo der Compiler den Typ selbst festlegen kann, muss ich den Typ nicht explizit schreiben, wenn ich die Funktion wie folgt aufrufe: template < typename T > T min( T v1, T v2 ) { return ( v1 < v2 ...

4 die antwort

C ++ Template: 'ist nicht vom Typ'

Warum ist dieser Code nicht gültig? #include <vector> template <typename T> class A { public: A() { v.clear(); } std::vector<A<T> *>::const_iterator begin() { return v.begin(); } private: std::vector<A<T> *> v; };GCC meldet die folgenden ...

14 die antwort

Dynamisches Registrieren von Konstruktormethoden in einer AbstractFactory zur Kompilierungszeit mithilfe von C ++ - Vorlagen

Beim Implementieren einer MessageFactory-Klasse zum Instatisieren von Message-Objekten habe ich Folgendes verwendet: class MessageFactory { public: static Message *create(int type) { switch(type) { case PING_MSG: return new PingMessage(); case ...