templaten-Fehler?
-
Wie heißt es richtig?
template<class C,class T> void UpdateControl(typename C<pair<string,typename T> >& sValues)Das bringt, wenn man C=std::list und T=long ist, den C2142-Fehler von meinem MSVSC++ compiler...
-
'std::list' ist kein Typ, daher kannst Du das so nicht aufrufen.
-
Mmmh. Und wie geht es besser? Die Funktion muss für jeden std-container klappen!
-
template <typename C> void UpdateControl(C& sValues)Aber in C++ würde man keinen Container übergeben sonder Iteratoren:
template <typename I> void UpdateControl(I begin, I end)Jetzt kann man z.B. mit 'typename std::iterator_traits<I>::value_type' auf den Datentyp zugreifen, auf den die Iteratoren zeigen.