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: 2545
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!
https://jonathank.de/games/
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
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: 2545
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!
https://jonathank.de/games/
Antworten