2010-04-17 17 views
5

Así que aquí es un fragmento de mi código:C++ ¿Mapa del vector de Structs?


    struct dv_nexthop_cost_pair 
    { 
     unsigned short nexthop; 
     unsigned int cost; 
    };

map<unsigned short, vector<struct dv_nexthop_cost_pair> > dv; 

que estoy recibiendo el siguiente error de compilación:

error: ISO C++ forbids declaration of `map' with no type 

¿Cuál es la forma correcta de declarar esto?

Respuesta

8

O se olvidó de #incluir los encabezados correctos o no importó el espacio de nombres std. Sugiero lo siguiente:

#include <map> 
#include <vector> 

std::map<unsigned short, std::vector<struct dv_nexthop_cost_pair> > dv; 
+0

Sí ... se me olvidó la incluye. Lo siento, C++ newb aquí. ¡Gracias! – garsh0p

0

uso typedef

typedef std::map<unsigned short, std::vector<struct dv_nexthop_cost_pair> > dvnexthopemap; 
dvnexthopemap db;