The following compiles OK typedef string Colour; struct edge_properties { vector < set< Colour > > eColours; } until I get to template < typename Graph > Then compiler says void populate_arrow_maps(const Graph & g) { typename graph_traits<Graph>::edge_iterator edge_iter, edges_end; typedef vector <set< string > > VCS; typedef vector <set< string > >::iterator vcs_iter, vcs_end; for (tie(edge_iter, edges_end) = edges(g); edge_iter != edges_end; ++edge_iter) { VCS & vcolour_set = get(m_eColours_map, *edge_iter); for(vcs_iter = vcolour_set.begin(); vcs_iter != vcolour_set.end(); ++vcs_iter) { ; } } } error: expected unqualified id before '=' token Referring to the line which is underlined above. So its referring to vcs_iter. Whats wrong? Thanks |