Código C++:
Ver original
class a { public: a(); ~a(); void msj() { cout << "Mensaje de A\n"; }; }; int main(int argc, char* argv[]) { typedef pair<char*,a*> parT; map<char*,parT> pilaMap; a* objeto; char* b = "zz"; parT par(b,objeto); pilaMap.insert(b,par);//esta es la linea que da error cin.get(); return 0; }
El resultado del compilador es el siguiente:
Código Apache:
Ver original
/home/soporte/Escritorio/Capturador/Pruebas/main.cpp||In function ‘int main(int, char**)’:| /home/soporte/Escritorio/Capturador/Pruebas/main.cpp|104|warning: deprecated conversion from string constant to ‘char*’| /home/soporte/Escritorio/Capturador/Pruebas/main.cpp|107|error: no matching function for call to ‘std::map<char*, std::pair<char*, a*>, std::less<char*>, std::allocator<std::pair<char* const, std::pair<char*, a*> > > >::insert(char*&, main(int, char**)::parT&)’| /usr/include/c++/4.4/bits/stl_map.h|499|note: candidates are: std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::insert(const std::pair<const _Key, _Tp>&) [with _Key = char*, _Tp = std::pair<char*, a*>, _Compare = std::less<char*>, _Alloc = std::allocator<std::pair<char* const, std::pair<char*, a*> > >]| /usr/include/c++/4.4/bits/stl_map.h|539|note: typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator, const std::pair<const _Key, _Tp>&) [with _Key = char*, _Tp = std::pair<char*, a*>, _Compare = std::less<char*>, _Alloc = std::allocator<std::pair<char* const, std::pair<char*, a*> > >]| ||=== Build finished: 1 errors, 1 warnings ===|
Creo que algo de lo que esta recibiendo el map no le esta gustando, pero no logro detectar que es, en que parte esta el inconveniente. por eso separe el código del sistema y lo reduje a lo que aquí les muestro para puntualizar y ver si podía sacar el error.
Desde ya muy agradecido por su ayuda.
PD: Como siempre antes me pase horas en Google buscando pero no encontre respuesta alguna :S
Saludos!