elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Paso de flujos por parametro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Paso de flujos por parametro  (Leído 2,708 veces)
darkvidhack

Desconectado Desconectado

Mensajes: 159


Be Linux my friend...


Ver Perfil WWW
Paso de flujos por parametro
« en: 17 Mayo 2011, 16:21 pm »

Hola amigos, tengo un problema con el paso de flujos por parametro, aver si ustedes sabrían solucionarmelo ;), es el siguiente:

Código
  1. #include "Piloto.h"
  2. #include <fstream>
  3.  
  4.  
  5. int main () {
  6.  
  7.  
  8. //Cargo los pilotos a memoria
  9. ifstream entrada ("pilotos.csv");
  10. Piloto* *pilotos=new Piloto*[24];      ++++++++++++++++++++++++++++++++++++++++++
  11.  
  12.  
  13.    for(int i=0;i<24;i++){
  14.     pilotos[i]=new Piloto(entrada);
  15.    }
  16.  
  17. -------------------------------------------------------------------------------------
  18. Piloto.cpp
  19.  
  20. Piloto::Piloto() {
  21.  
  22. Piloto::fromCSV(entrada);
  23.  
  24. }
  25.  
  26. --------------------------------------------------------------------------------------
  27. Metodo 'fromCSV'
  28.  
  29. void Piloto::fromCSV (entrada) {      +++++++++++++++++++++++++++++++++
  30.  
  31. getline(entrada,nom,';');                +++++++++++++++++++++++++
  32. getline(entrada,ape,';');   ++++++++++++++++++++++++
  33. entrada>>edad;              ++++++++++++++++++++++++++++++++++
  34.  
  35. }

Las lineas con simbolos '+' son aquellas donde el compilador me detecta fallo, algunos de ellos son:

- 'entrada' has incompleted type
- initializing argument 1 of 'Piloto::Piloto(std::ifstream)'
- 'std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>::__streambuf_type&) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_streambuf<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]' is private


GRACIAS DE ANTEMANO


En línea

live and let die

la duda es la base de todo conocimiento
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Paso de flujos por parametro
« Respuesta #1 en: 17 Mayo 2011, 20:37 pm »

Hola

Creo que es porque en la función "fromCSV" no indicas el tipo de dato que es "entrada"
además  Piloto* *pilotos=new Piloto*[24]; sería Piloto* *pilotos=new *Piloto[24];
y también deberías pasarle "entrada" al constructor ya que desde el constructor llamas a la función con el parámetro

Código
  1. #include "Piloto.h"
  2. #include <fstream>
  3.  
  4.  
  5. int main () {
  6.  
  7.  
  8. //Cargo los pilotos a memoria
  9. ifstream entrada ("pilotos.csv");
  10. Piloto* *pilotos=new *Piloto[24];      
  11.  
  12.  
  13.    for(int i=0;i<24;i++){
  14.     pilotos[i]=new Piloto(entrada);
  15.    }
  16.  
  17. -------------------------------------------------------------------------------------
  18. Piloto.cpp
  19.  
  20. Piloto::Piloto(ifstream &entrada) {
  21.  
  22. Piloto::fromCSV(entrada);
  23.  
  24. }
  25.  
  26. --------------------------------------------------------------------------------------
  27. Metodo 'fromCSV'
  28.  
  29. void Piloto::fromCSV (ifstream &entrada) {
  30.  
  31.        getline(entrada,nom,';');
  32. getline(entrada,ape,';');
  33. entrada>>edad;              
  34.  
  35. }
  36.  

Eso es lo que he visto, si tienes dudas o lo que sea aquí estamos

Saludos


En línea

Breakbeat como forma de vida
darkvidhack

Desconectado Desconectado

Mensajes: 159


Be Linux my friend...


Ver Perfil WWW
Re: Paso de flujos por parametro
« Respuesta #2 en: 17 Mayo 2011, 22:10 pm »

Hola!! Muchas gracias por la respuesta, la encontré antes de leer el post xD, resulta que los flujos siempre se pasan por referencia, como tú bien indicas con el & en los parámetros formales de los métodos, aparte que me faltaba indicar el tipo de dato que era 'entrada', respecto al vector de punteros a objetos, esa linea no me daba ningún fallo.

Muchas Gracias, ya he resolvido la duda ;)


En línea

live and let die

la duda es la base de todo conocimiento
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Paso de flujos por parametro
« Respuesta #3 en: 17 Mayo 2011, 22:48 pm »

Muchas Gracias, ya he resuelto la duda

De nada, pa eso estamos

:P :P
En línea

Breakbeat como forma de vida
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problemas metodo con parametro (solucionado) era sin parametro XD
Java
rub'n 6 6,920 Último mensaje 25 Noviembre 2010, 16:45 pm
por Afsoon
Paso de parametro por referencia
Programación C/C++
abad023 5 3,401 Último mensaje 6 Diciembre 2011, 08:21 am
por x64core
Duda con matrices y paso por parametro « 1 2 3 »
Programación C/C++
patilanz 21 7,956 Último mensaje 24 Abril 2014, 17:08 pm
por vangodp
sfml paso por parametro de window
Programación C/C++
patilanz 0 1,749 Último mensaje 18 Octubre 2014, 19:24 pm
por patilanz
Problema con Paso de Tablas Bidimensionales como parámetro
Programación C/C++
jamatbar 1 2,283 Último mensaje 10 Diciembre 2014, 16:21 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines