<div dir="ltr">Hola Sara,<div class="gmail_extra"><br><div class="gmail_quote">2013/1/28 Sara Castilla Guilllén <span dir="ltr"><<a href="mailto:saricg@hotmail.es" target="_blank">saricg@hotmail.es</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<div><div dir="ltr">
Hola, gracias por la información. He solucionado los errores de los que me habeis informado y corregido algunos más que me daban a la hora de compilar. Todavía me siguen saliendo estos errores (los adjunto en un archivo) y por más que cambio cosas no consigo solucionarlos. Adjunto de nuevo el programa para que podais verlo. Gracias de nuevo.<br>
<br></div></div></blockquote><div><br></div><div style>Bueno, no es cuestión de cambiar algo para que funcione, sino entender el problema - el por qué no funciona - y resolverlo.</div><div style><br></div><div style>Veamos los errores y el código fuente:<br>
<br>* error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.</div>
<div style><br></div><div style>Como usas algunas cosas del nuevo estándar de C++, llamado previamente C++0x, pero ahora se llama C++11, tu compilador requiere que agregues la opción del compilador: -std=c++0x. Cuando compiles, algunos otros errores que mencionas desaprecerán.<br>
<br>* pr2.cpp:21: error: expected ‘;’ before ‘char’<br></div><div style><br></div><div style>struct TpInfopeli{</div><div><span class="" style="white-space:pre">       </span>char protagonistas[10]</div><div><span class="" style="white-space:pre">---->
<br></span></div><div><span class="" style="white-space:pre"><span style="white-space:normal">El error está en que espera un punto y coma antes del 'char' </span>siguiente. O sea, escribe:
<br></span></div><div><span class="" style="white-space:pre">char protagonistas[10];</span></div><div><span class="" style="white-space:pre">
<----</span></div><div><span class="" style="white-space:pre"><br></span></div><div><span class="" style="white-space:pre">    </span>char pelicula[5];</div><div><span class="" style="white-space:pre">  </span>char cines[4];</div>
<div>}informacion[5];</div><div><br></div><div>* pr2.cpp:50: error: ‘i’ no se declaró en este ámbito</div><div>...</div><div><br></div><div>void InsertarPelicula(string TpCines[i], TpInfopeli &informacion);<br></div><div style>
<br></div><div style>El problema es que indicas 'i', la cual no ha sido declarada y por tanto el compilador no sabe lo qué es, ni cómo tratarlo. Como está en la lista de parámetros, debe ser solamente [], para crear un array.</div>
<div style><br></div><div style>* pr2.cpp:52: error: ‘i’ no se declaró en este ámbito<br></div><div style>...</div><div style><br></div><div style>void BuscarPelicula (string TpCines[i], const string &pelicula, bool &encontrado, TpInfopeli &informacion);<br>
</div><div style><br></div><div style>Aquí tienes el mismo problema de antes; escribe, [].</div><div style><br></div><div style>* pr2.cpp:81: error: expected primary-expression before ‘&’ token</div><div style><br></div>
<div style>case 0: informacion = LeerPelicula(TpInfopeli &informacion);<br></div><div style><br></div><div style>El error es que has escrito el prototipo de la función 'LeerPelicula()', en lugar de invocarla. Debería haber sido,</div>
<div style><br></div><div style>case 0: informacion = LeerPelicula( informacion );<br></div><div style><br></div><div style>Sin embargo, esta función retorna un valor de tipo 'int' que intentas asignar a una variable de tipo 'TpInfopeli'. Como no existe una definición de asignar 'int' a 'TpInfopeli', se produce un error. Deberías revisar la lógica que quieres plasmar aquí.</div>
<div style><br></div><div style>* pr2.cpp:82: error: no se puede pasar objetos de tipo ‘struct std::string’ que no es POD a través de ‘...’; la llamada abortará en tiempo de ejecución</div><div style>...</div><div style><br>
</div><div style>InsertarPelicula(TpCines, informacion);<br></div><div style>BuscarPelicula(TpCines, pelicula, encontrado, informacion);<br></div><div style><br></div><div style>Pasas 'TpCines' que es un objeto de tipo 'string' a ambas funciones cuando esperan recibir arrays. Revisa lo que quieres hacer en realidad: pasar una lista de cadenas o una sola cadena.</div>
<div style><br></div><div style>* pr2.cpp:100: error: ‘salir’ no se declaró en este ámbito</div><div><br></div><div>SalirDelPrograma(salir);<br></div><div><br></div><div style>No has definido 'salir' y por tanto es un error usarlo.</div>
<div style><br></div><div style>* pr2.cpp:122: error: expected primary-expression before ‘;’ token</div><div style><br></div><div style>cin >> calificaciones;<br></div><div style><br></div><div style>'calificaciones' no es una variable sino un tipo enumerado. Deberías aceptar otra variable como parámetro o podrías definir 'TpInfopeli' para que contenga otro campo para las calificaciones.</div>
<div style><br></div><div style>* pr2.cpp:124: error: no se puede convertir ‘TpInfopeli’ a ‘int’ en return</div><div style><br></div><div style>return informacion;<br></div><div style><br></div><div style>Intentas retornar 'informacion' que es de tipo 'TpInfopeli' cuando dijiste que iba a retornar un valor de tipo 'int'. Como no existe una conversión entre 'TpInfopeli' a 'int', el compilador te marca un error.</div>
<div style><br></div><div style><br></div><div style>Hay varios errores que no has corregido de la versión anterior del código fuente.</div><div style><br></div><div style><br></div><div style>Espero que esto te sirva.</div>
<div><br></div><div style>Steven</div><div style><br></div></div></div></div>