Bei Verwendung einer Containerklasse wie vector
, list
usw. kann der Typ der Elemente verwendet werden, indem vector<type>::value_type
geschrieben wird.Verwenden von in Vorlagenargumenten definierten Typen
jedoch der folgende Code
template<class container>
void foo(container& c)
{
typedef container::value_type elementtype;
elementtype b;
}
mit dem Fehler fehlschlägt "expected initializer before ‘elementtype’
". Kann man den Elementtyp ableiten, wenn der Containertyp als Template-Argument angegeben wird, oder muss ich den Elementtyp als zusätzliches Template-Argument angeben?