Seite 1 von 1

C++ using mit template Parameter

Verfasst: 27.07.2022, 21:21
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.

Re: C++ using mit template Parameter

Verfasst: 27.07.2022, 21:32
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.

Re: C++ using mit template Parameter

Verfasst: 27.07.2022, 23:57
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...