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