C++ using mit template Parameter

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
Jonathan
Establishment
Beiträge: 1963
Registriert: 04.08.2004, 20:06
Kontaktdaten:

C++ using mit template Parameter

Beitrag von Jonathan »

Hey,

ich möchte ein typedef / using verwenden um meine template-typen abzukürzen:

Code: Alles auswählen

template<typename t> using ValueType<t> = shared_ptr<Value::Base<t>>; // geht nicht
// oder
template<typename t> typedef shared_ptr<Value::Base<t>> ValueType<t>; // geht nicht

// das hier geht, ist aber doof.
using ValueType_float = shared_ptr<Value::Base<float>>;
Allerdings meckert er in beiden Fällen über den template Parameter. Gibt es für sowas in C++ eine Lösung? Das Problem ist ein wenig schwer zu googeln, und mir fällt keine andere Syntax ein die ich ausprobieren könnte.
Lieber dumm fragen, als dumm bleiben!
Benutzeravatar
Krishty
Establishment
Beiträge: 7852
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: C++ using mit template Parameter

Beitrag von Krishty »

Das <t> war zuviel:

Code: Alles auswählen

template<typename t> using ValueType = shared_ptr<Value::Base<t>>; // geht
Das Ganze nennt sich Alias Template.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Jonathan
Establishment
Beiträge: 1963
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: C++ using mit template Parameter

Beitrag von Jonathan »

Ah interessant.
Jetzt wo ich das sehe fällt mir auch auf, dass man ja auch nicht "template<typename t> class MyClass<t> {};" schreibt...
Lieber dumm fragen, als dumm bleiben!
Antworten