Ich las dieses tutorial auf variadische Vorlagen, aber in folgenden Code:C++ typedef und Vorlagen Syntax?
template<int index, class C>
struct container_index {
// points to the "next" container type
typedef typename container_index<
index-1,
typename C::base_container
>::container_type container_type;
// points to the next T-type
typedef typename container_index<
index-1,
typename C::base_container
>::type type;
};
diese typedefs scheint überflüssig, aber es kompiliert gut. Das Problem ist einfach ich verstehe nicht, warum sie so sind und ich fand kein Tutorial, das diesen Fall erklärt. Könnte jemand eine Erklärung geben? Warum der typedef Name wiederholt:
"::container_type container_type;"
"::type type;"
Es kann nicht einfach so sein:
typedef typename container_index<
index-1,
typename C::base_container
> type;
Vielen Dank.
Wegen Rekursion? Siehe auch die Diskussion in [diese Frage] (http://stackoverflow.com/questions/36913554/c-typedef-and-templates-syntax). –