2010-04-17 12 views
5

Quindi, ecco un frammento del mio codice:Mappa del vettore di strutture C++?


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

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

che sto ottenendo il seguente errore del compilatore:

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

Qual è il modo corretto per dichiarare questo?

risposta

8

O hai dimenticato di #include le intestazioni giuste o non hai importato lo spazio dei nomi std. Suggerisco la seguente:

#include <map> 
#include <vector> 

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

Yup ... ho dimenticato il include. Scusa, C++ newb qui. Grazie! – garsh0p

0

uso typedef

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