• Viernes 1 de Noviembre de 2024, 12:29

Autor Tema:  Error En El Constructor  (Leído 1542 veces)

proyectista

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Error En El Constructor
« en: Lunes 9 de Agosto de 2004, 10:05 »
0
Hola a todos!
Estoy terminando (al menos eso creía) el proyecto de fin de carrera (de la ingeniería técnica), bajo  VC++.NET.
Estoy utilizando una librería de Algoritmos Genéticos (GALIB), escrita en C, y que me consta que funciona perfectamente en VC++.6

El problema es el siguiente: puedo estar trabajando semanas perfectamente, compilando, escribiendo, corrigiendo... hasta que sin motivo alguno, pues no modifico los archivos que me dan el fallo, aparece un maldito error que no comprendo, pues no modifico los archivos, se que funcionan en VC++6, y además no los modifico de los que vienen en la librería.
Me da fallo en el constructor de una de las clases, y mi duda es si HAY ALGÚN IMPEDIMENTO PARA PASAR COMO PARÁMETRO A UN CONSTRUCTOR UN PUNTERO A VOID.

A continuación pongo el código, y el error (uno de los que da, el resto de deben a la mala definición de la clase, por este error)

class GAParameter
{
public:
      GAParameter(char *fn, int tp, void *v);     // línea 32
      ~GAParameter(void);
};


los errores:

GAParameter.h(32): error C2629: 'GAParameter (' inesperado

GAParameter.h(32): error C2238: símbolos (token) inesperados delante de ';'

PD: como es lógico la línea 32 es la de el constructor, y si quito "void *v" el error desaparece, pero es que me hace falta ese puntero!!
La línea realmente es esta
   GAParameter(const char* fn, int tp, const void* v);
pero da el mismo fallo, por lo que la he simplificado

GRACIAS ANTICIPADAS

proyectista

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Error En El Constructor
« Respuesta #1 en: Martes 17 de Agosto de 2004, 19:10 »
0
Pues me voy a responder yo mismo:



veremos: en el fichero "resources.h" hay una línea, que al igual que el resto, no escribe el programador, tal como la siguiente:

#define v    0

por lo tanto, en el prototipo del contrustor, el compilador veía un 0, y no una v.

Ese es el fallo que me ha tenido sufriendo semanas, meses, pensando que mi proyecto no podía realizarse.

PD: que los moderadores borren, muevan o utilicen mi hilo como mejor convengan.


GRACIAS