Wie kann ich einen Iterator für Template-Argument-Map deklarieren?C++ Iterator deklarieren aus typedef std :: map als Vorlage Argument
Ich weiß, ich könnte es als Argument aus der Hauptfunktion als ein weiteres Template-Argument übergeben, aber wenn ich nicht, wie kann ich es erklären?
template< typename container >
int print_data(container map)
{
map::iterator iter; // this is wrong
return 0;
}
int main()
{
typedef std::map< int, double > Map;
Map new_map;
print_data<Map>(new_map);
}
'typename container :: iterator' oder verwenden Sie den automatischen Typ deducation' auto iter {map.begin()}; ' – VTT