• Miércoles 15 de Mayo de 2024, 06:45

Autor Tema:  Typedef  (Leído 1286 veces)

pix

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Typedef
« en: Miércoles 28 de Mayo de 2008, 10:54 »
0
hola, estoy hacienco un programa en el cual en el programa principal declaro un typedef (arbol) que luego uso como parámetro a una función que pertenece a la clase ident. Al compilar me salen estos errores:

1>d:\programación c++\ident_estat\ident_estat\ident.h(27) : error C2061: syntax error : identifier 'ARBOL'
1>d:\programación c++\ident_estat\ident_estat\main.cpp(61) : error C2660: 'Ident::creararbol' : function does not take 1 arguments

supongo que el archivo .h no reconoce  el tipo arbol que declaro en el archivo principal .cpp.

MAIN.CPP

#include <stdio.h>
#include <stdlib.h>
#include "ident.h"
#include <time.h>
#include<conio.h>
#include<string.h>
#pragma once
//#include "stdafx.h"
#pragma warning(disable : 4996)


void main()
{
   FILE *fichero1;
   FILE *fichero2;
   FILE *fichero3;
   struct nodoarbol{                        //ESTRUCTURA DEL ARBOL
      int est;
      int tran[4];
      struct nodoarbol *izqnodo;
      struct nodoarbol *hernodo;
      struct nodoarbol *dernodo;
   };
   typedef struct nodoarbol NODO;    //DEFINICION DE TIPO NODO
   typedef NODO *ARBOL;              //DECLARACION DE VARIABLE PUNTERO A NODO
   
   Ident one;
   char c[20];
   
   ARBOL raiz=NULL;
...
printf("Ficheros abiertos\n");
   one.leersecuencia(fichero1,fichero2);
   printf("Secuencias obtenidas\n");
   one.escribirmatriz(fichero3);
   one.creararbol (&raiz);


IDENT.H

#pragma once
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>




#ifndef __IDENT__
#define __IDENT__
#define N 129   //numero de filas de la matriz de transiciones
#define M 14//numero de columnas de la matriz de transiciones


class Ident
{
private:
   
   int *mat[N][M];
   

public:

   Ident(void);
   void leersecuencia(FILE *fin,FILE *fout);   //almacena las secuencias de entrada y salida en matriz
   void escribirmatriz(FILE *fconf);   //escribe resultado en fichero de salida
   void creararbol (ARBOL *nuevo);
   ~Ident(void);
};
#endif


¿CÓMO LO PUEDO RESOLVER?
GRACIAS

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Typedef
« Respuesta #1 en: Miércoles 28 de Mayo de 2008, 11:02 »
0
Pasalo a la cabecera (.h) ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

pix

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Typedef
« Respuesta #2 en: Miércoles 28 de Mayo de 2008, 11:43 »
0
Ok, gracias!
Pero si lo paso al .h no puedo inicializar desde el programa principal el puntero al nodo raiz y pasraselo como parametro a la funcion! no?

pix

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Typedef
« Respuesta #3 en: Miércoles 28 de Mayo de 2008, 11:46 »
0
Ah si, perdón!