Salve a tutti, ho bisogno di un aiuto.
Ho due classi: la classe Parola e la classe Dizionario che dovrà contenere vari oggetti di tipo Parola.
Nella classe Parola non ho nessun problema.
E questa è la classe Dizionario (da finire)codice://parola.h #include <stdio.h> #include <stdlib.h> #define L_WORD 20 class Parola{ public: int tipo; char nome[L_WORD]; Parola(char nomes[L_WORD], int type); void set_word(char nome[L_WORD]); void set_type(int type); char get_word(); int get_type(); private: }; //parola.cpp #include <stdio.h> #include <stdlib.h> #include "parola.h" Parola::Parola(char nomes[L_WORD], int type){ for(int i = 0; i< L_WORD; i++){ nome[i] = nomes[i]; } tipo = type; } void Parola::set_word(char nomes[L_WORD]){ for(int i = 0; i< L_WORD; i++){ nome[i] = nomes[i]; } } void Parola::set_type(int type){ tipo = type; } char Parola::get_word(){ return nome[L_WORD]; } int Parola::get_type(){ return tipo; }
Ora Dev-C++ mi riporta questi problemi:codice:#include <stdio.h> #include <stdlib.h> #include "parola.h" #define DIZ_MAX 256 class Dizionario{ public: Parola *parola[DIZ_MAX]; Dizionario(); void set_parola(); Parola get_parola(); private: }; //dizionario.cpp #include <stdio.h> #include <stdlib.h> #include "dizionario.h" Dizionario::Dizionario(){} Dizionario::set_parola(){ char nome[L_WORD]; gets(nome); int type; scanf("%d",type); parola[0].set_word(nome); parola[0].set_type(type); printf("La parola e': \n%s\n%s(tipo)\n",parola[0].get_word(),parola[0].get_type()); }
Naturalmente il problema principale è l'uso della classe Parola nella classe Dizionario giusto? quindi... come posso sistemare il tutto? un aiutino?codice:7 C:\Users\Valerio\Desktop\IA\dizionario.cpp ISO C++ forbids declaration of `set_parola' with no type 7 C:\Users\Valerio\Desktop\IA\dizionario.cpp prototype for `int Dizionario::set_parola()' does not match any in class `Dizionario' 12 C:\Users\Valerio\Desktop\IA\dizionario.h void Dizionario::set_parola() 7 C:\Users\Valerio\Desktop\IA\dizionario.cpp `int Dizionario::set_parola()' and `void Dizionario::set_parola()' cannot be overloaded C:\Users\Valerio\Desktop\IA\dizionario.cpp In member function `int Dizionario::set_parola()': 12 C:\Users\Valerio\Desktop\IA\dizionario.cpp `set_word' has not been declared 12 C:\Users\Valerio\Desktop\IA\dizionario.cpp request for member of non-aggregate type before '(' token 13 C:\Users\Valerio\Desktop\IA\dizionario.cpp `set_type' has not been declared 13 C:\Users\Valerio\Desktop\IA\dizionario.cpp request for member of non-aggregate type before '(' token 14 C:\Users\Valerio\Desktop\IA\dizionario.cpp `get_word' has not been declared 14 C:\Users\Valerio\Desktop\IA\dizionario.cpp request for member of non-aggregate type before '(' token 14 C:\Users\Valerio\Desktop\IA\dizionario.cpp `get_type' has not been declared 14 C:\Users\Valerio\Desktop\IA\dizionario.cpp request for member of non-aggregate type before '(' token C:\Users\Valerio\Desktop\IA\Makefile.win [Build Error] [dizionario.o] Error 1

Rispondi quotando