Disculpad, es que es larguillo y tengo muchas cosas... aquí lo dejo más claro:
diccionario.h:
Código C++:
Ver originaltemplate <typename Key, typename Def>
class diccionario{
public:
typedef pair<Key, Def> entrada;
typedef pair<const Key, Def> value_type;
typedef unsigned int size_type;
class iterator;
diccionario( );
class iterator {
public:
iterator();
private:
iterator (entrada * p);
iterator (typename vector<entrada>::iterator it);
friend class diccionario;
value_type * it_v;
};
private:
friend class iterator;
vector<entrada> dic; // vector que almacena los elementos del diccionario
};
diccionarioV2.hxx:
Código C++:
Ver originaltemplate <typename Key, typename Def>
diccionario<Key,Def>::iterator::iterator( ){
/*
Esto es lo mismo que lo de abajo, esto funciona y lo otro no
vector<pair<Key, Def>> dic2;
pair<const Key, Def> * it_v2 = (pair<const Key,Def> *) &dic2[0];
*/
it_v = (pair<const Key,Def> *) &dic[0];
//Esto tampoco funciona...
// Def a = dic[0].second;
}