Ciao a tutti!
mi sto esercitando in alcune esercitazioni sulle classi perchè tra 15 giorni ho un esame!
ora ho creato il file d'intestazione (.h) e compila correttamente, mente il cpp mi da dei problemi.
cinema.h
cinema.cppcodice:#include <ostream> #include <cstring> using namespace std; class Cinema { char* nomecinema[31]; int F; int C; bool* c; public: Cinema(int,int,char*); bool prenota(char,int); bool cancella(char,int); friend ostream & operator<<( ostream &, const Cinema &); int operator!() const; Cinema& operator=(const Cinema&); Cinema& operator+=(const int); ~Cinema(){delete []c;} };
il compilatore mi da il seguente errore:codice:#include "cinema.h" #include <iostream> Cinema::Cinema(int n, int p, const char*nome){ if (n<=0|| n>26) { n=26;} if (p<=0|| p>9) {p=9;} if( strlen(nome)> 30) {strcpy(nome, "nomeacaso");} else { strcpy(nomecinema, nome); } c=new bool[n*p]; for (int i=0; i<n*p; i++) {c[i]=false;} //creo una matrice booleana // di n file e p posti vuota. }
cinema.cpp:5:2: error: prototype for ‘Cinema::Cinema(int, int, const char*)’ does not match any in class ‘Cinema’
cinema.h:6:7: error: candidates are: Cinema::Cinema(const Cinema&)
cinema.h:13:2: error: Cinema::Cinema(int, int, char*)
avete qualche idea de perchè? in poche parole mi sta dicendo che non trova il costruttore nel file.h!! come mai? la sintassi è giusta!
grazie in anticipo per l'aiuto!


Rispondi quotando

