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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Resuelto]Error Shadows a parameter make
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto]Error Shadows a parameter make  (Leído 7,257 veces)
hari

Desconectado Desconectado

Mensajes: 51



Ver Perfil
[Resuelto]Error Shadows a parameter make
« en: 1 Julio 2011, 13:51 pm »

Estaba haciendo un programa que leia una serie de datos binarios de un fichero.
El caso es que hize primero la función leer que me funcionaba perfectamente, y ahora estoy intentado modificarla para que sea un void, y leerla desde el main.


Atención, la mitad del codigo no es necesario leerselo, ver al final el problema.

El .h es asi:

Código
  1. #ifndef _ej19
  2. #define _ej19
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. struct cabecera {
  7. int PosInicioMarca;
  8. int LongMarca;
  9. char *Marca; //[LongMarca*sizeof(char)]
  10. char *Comentario; //[100*sizeof(char)]
  11. };
  12.  
  13. cabecera Leer(char *fichero);
  14.  
  15. #endif
  16.  

y donde está la función es así:

Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include "ej19.h"
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. using namespace std;
  7.  
  8. void Leer(cabecera micabecera, char *fichero){
  9. ifstream fi;
  10. cabecera micabecera;
  11.  
  12. fi.open(fichero);
  13.  
  14. fi.read(reinterpret_cast <char*> (&micabecera.PosInicioMarca), sizeof(int));
  15.  
  16. //cout << micabecera.PosInicioMarca << endl;
  17. fi.read(reinterpret_cast <char*> (&micabecera.LongMarca), sizeof(int));
  18. //cout << micabecera.LongMarca << endl;
  19.  
  20. micabecera.Marca = new char[sizeof(char) * micabecera.LongMarca];
  21. micabecera.Comentario = new char[sizeof(char) * 100];
  22.  
  23. fi.read(reinterpret_cast <char *> (micabecera.Marca), sizeof(char) * micabecera.LongMarca);
  24. //cout << micabecera.Marca << endl;
  25. fi.read(reinterpret_cast <char *> (micabecera.Comentario), sizeof(char) * 100);
  26. //cout << micabecera.Comentario << endl;
  27.  
  28.  
  29. fi.close();
  30. }
  31.  
  32.  
  33.  
  34.  



me da un error en el fichero leer.cpp en la linea donde pone: cabecera micabecera; (la declaración)
pone: declaration of 'cabecera micabecera' shadows a parametermake

Nunca había tenido este error, y no sé porqué es, por lo tanto estoy bloqueado!
he buscado en google pero nada.

Muchas gracias


« Última modificación: 1 Julio 2011, 14:00 pm por hari » En línea

hari

Desconectado Desconectado

Mensajes: 51



Ver Perfil
Re: Error Shadows a parameter make
« Respuesta #1 en: 1 Julio 2011, 13:59 pm »

Despues de un montón de tiempo de revisar el código me he dado cuenta, recibe como parámetro y luego declara lo mismo.

Siento haber hecho perder el tiempo, pero no me había dado cuenta.


En línea

Acermax

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: Error Shadows a parameter make
« Respuesta #2 en: 1 Julio 2011, 14:00 pm »

Sin leer lo que hace tu código exactamente, a la función Leer le pasas un objeto de tipo cabecera llamado "micabecera" y luego inmediatamente debajo declaras un objeto de tipo capecera con nombre "micabezera".
Estás declarando un objeto que es lo que le estás pasando a la función.

Un saludo.

EDIT: Vale, hemos escrito a la vez, veo que ya viste el error.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problemas con configure, make, y make install « 1 2 »
GNU/Linux
rtl8187 16 20,158 Último mensaje 25 Marzo 2011, 05:43 am
por D4RIO
HPC: HTTP Parameter Contamination
Nivel Web
Shell Root 1 3,698 Último mensaje 15 Julio 2011, 16:50 pm
por ~ Yoya ~
John the ripper Error de compilacion -- make: *** [generic.h] Error 1 --
GNU/Linux
hbenzin 2 4,174 Último mensaje 20 Agosto 2011, 23:42 pm
por hbenzin
HPP HTTP PARAMETER POLLUTION
Bugs y Exploits
coldalfred 0 2,714 Último mensaje 1 Mayo 2012, 04:04 am
por coldalfred
Error en C, 20[Error] parameter 'e' is initialized
Programación C/C++
chewbaccaChaka 3 2,278 Último mensaje 11 Mayo 2018, 21:28 pm
por chewbaccaChaka
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines