<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>