<div>Es una convencion que se lleva bien con los compiladores.<br></div><div><br></div><div>Sds</div><br><div class="gmail_quote">2009/9/20 Ferran Ferri <span dir="ltr"><<a href="mailto:ferranferri@gmail.com">ferranferri@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Tienes toda la razon. Era justamente eso. Por cierto, por que es<br>
conveniente que le quite los parentesis a los constructores?<br>
<br>
Muchas gracias<br>
Ferran<br>
<br>
<br>
<br>
2009/9/20 Steven Davidson <<a href="mailto:srd4121@njit.edu">srd4121@njit.edu</a>>:<br>
<div><div class="h5">> Hola Ferrán,<br>
><br>
> Ferran Ferri wrote:<br>
><br>
> [CORTE]<br>
><br>
>> Yo creo que las dos hacen casi lo mismo a diferencia de que<br>
>> addlistener lleva un vector en vez de un queue. Pero la primera va<br>
>> bien, y la he comprobado, pero la segunda no me compila. El<br>
>> compilador, VStudio.NET 2008 me da un error como este:<br>
>><br>
>> 1>Compilando...<br>
>> 1>GlobalLog.cpp<br>
>><br>
>> 1>c:\users\ferran\directo\openglprojects\centrallog\centrallog\globallog.cpp(48)<br>
>> : error C2665: 'std::pair<_Ty1,_Ty2>::pair' : ninguna de las 3<br>
>> sobrecargas pudo convertir todos los tipos de argumento<br>
>> 1>        with<br>
>> 1>        [<br>
>> 1>            _Ty1=std::string,<br>
>> 1>            _Ty2=tools::GLog::CGlobalLog::t_ListenerVectorMap *<br>
>> 1>        ]<br>
>> 1>        c:\program files (x86)\microsoft visual studio<br>
>> 9.0\vc\include\utility(40): puede ser<br>
>> 'std::pair<_Ty1,_Ty2>::pair(const _Ty1 &,const _Ty2 &)'<br>
>> 1>        with<br>
>> 1>        [<br>
>> 1>            _Ty1=std::string,<br>
>> 1>            _Ty2=tools::GLog::CGlobalLog::t_ListenerVectorMap *<br>
>> 1>        ]<br>
>> 1>        al hacer coincidir la lista de argumentos '(std::string,<br>
>> tools::GLog::CGlobalLog::t_ListenerVector *)'<br>
>><br>
><br>
> Viendo los mensajes de error y el código que has escrito, el problema está<br>
> aquí:<br>
><br>
> void CGlobalLog::addListener( IListener* listener, std::string<br>
> loggerGroup /*= "[GLOBAL]"*/ )<br>
> {<br>
>  t_ListenerVectorMap::iterator it = listenerVectorMap.find(loggerGroup);<br>
>  // Si el listener no esta asociado a ningun loggerGroup lo añadimos aqui<br>
>  if (it == listenerVectorMap.end())<br>
>  {<br>
><br>
> listenerVectorMap.insert(std::pair<std::string,t_ListenerVectorMap*>(loggerGroup,new<br>
> t_ListenerVector()));<br>
>  }<br>
> }<br>
><br>
> La línea causante es:<br>
><br>
> listenerVectorMap.insert( std::pair<std::string,t_ListenerVectorMap*>(<br>
> loggerGroup, new t_ListenerVector() ) );<br>
><br>
> La pareja es de una cadena 'std::string' y un puntero: 't_ListenerVector *'.<br>
> Por lo tanto, esto debería ser,<br>
><br>
> listenerVectorMap.insert( std::pair<std::string,t_ListenerVector *>(<br>
> loggerGroup, new t_ListenerVector ) );<br>
><br>
><br>
> También deberías eliminar los paréntesis al instanciar objetos sin<br>
> parámetros con 'new'. Esto es,<br>
><br>
> new t_msgQueue<br>
><br>
> y no,<br>
><br>
> new t_msgQueue()<br>
><br>
> Al igual que,<br>
><br>
> new t_ListenerVector<br>
><br>
> en vez de,<br>
><br>
> new t_ListenerVector()<br>
><br>
><br>
> Espero que esto te ayude.<br>
><br>
> Steven<br>
><br>
><br>
> _______________________________________________<br>
> Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
> <a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
> Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
><br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Hernan G. Gonzalez.<br>"If there is a sin against life, it consists perhaps not so much in despairing of life as in hoping for another life and in eluding the implacable grandeur of this life."<br>
Albert Camus.<br>