<div dir="ltr"><div><div><div>Me ha funcionado muy bien ,asi ya entiendo mas lo que es enviar un valor por referencia y por valor. <br><br>Pero como tuve que cambiar una parte de mi codigo , ahora tengo problemas con la lista de inicializacion de un constructor copia , mira el ejemplo:<br>
<br><br><pre><code><code><code>class X
{ private:<br> string a;
public :<br></code> X (const &)=delete;</code>
string getSt() const {return a;}<br> void <b>lamethode</b>(){ cout << "NiHao"; };
};</code><code><br>class machin
{ private:
<b>const X &refX;<br> string b;</b>
public:
machin (const & )=delete;<br> string getb()const{return b;}<br> <b>const X& getX()const{return refX;} </b>
};<br></code><code>class XXX
{ <br> private:<br> machin z;<br><br> public:
<b>const machin &ref</b><b>machin</b><b>;</b>
XXX(machin const & p):z(p){ cout<< z.getb();} // pas de problème<br> <br> XXX(XXX const &){ cout<<z.getb();} <br>
void afficher()
{
<b> cout << ref</b><b>machin</b><b>.getX().lamethode();</b>
}
};</code><br></pre><br></div>Bueno mi pregunta es en el constructor copia de XXX , el compilador me envia un error en mi ejemplo:<br><br>uninitialized reference member ‘Exemplaire::e’ [-fpermissive] <br><br></div>Donde Exemplaire es la clase y e es un miembro privado de esta , en este caso podemos decir que XX es Exemplaire y que z es como e.<br>
</div>Me dice que la inicializacion no esta bien y la verdad no se como hacerla para que no tenga problemas en este constructor copia , me podrias ayudar en este caso?<br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2014-03-13 18:05 GMT+01:00 Salvador Pozo Coronado <span dir="ltr"><<a href="mailto:salvador@conclase.net" target="_blank">salvador@conclase.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Estimado Miguel,<br>
<br>
Con respecto a mi última respuesta, he cometido un error.<br>
<br>
Aunque no es necesario eliminar la memoria asignada a "list", sí lo es<br>
con respecto a los elementos que contiene.<br>
<br>
Tu solución del último mensaje es correcta, de este modo se recorre el<br>
vector y se elimina cada elemento almacenado. De otro modo se<br>
produciría una fuga de memoria.<br>
<br>
Entiendo que son condiciones de diseño, y que debes almacenar objetos<br>
creados dinámicamente mediante punteros. Pero si en lugar de eso<br>
almacenaras objetos, toda la memoria se liberaría de forma automática.<br>
<br>
Hasta pronto.<br>
<span class="HOEnZb"><font color="#888888">--<br>
Saludos,<br>
Salvador mailto:<a href="mailto:salvador@conclase.net">salvador@conclase.net</a><br>
Con Clase: <a href="http://www.conclase.net" target="_blank">http://www.conclase.net</a><br>
</font></span><div class="im HOEnZb">Blog con Clase: <a href="http://blogconclase.wordpress.com" target="_blank">http://blogconclase.wordpress.com</a><br>
<br>
<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<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>MIGUEL ALEJANDRO JIMENEZ R.<br>
</div>