Salve Ragazzi,
non capisco perchè mi dia questi errori..
Mentre se provo a includere tutti i file header mi dice:codice:[root@root Esame1]# g++ MailServer.cpp User.cpp main.cpp /tmp/ccU2q7ZU.o: In function `User::NM(User&)': User.cpp:(.text+0x1f5): undefined reference to `Message::Message()' User.cpp:(.text+0x225): undefined reference to `Message::setmess(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' /tmp/ccU2q7ZU.o: In function `User::MostraRicevuti()': User.cpp:(.text+0x318): undefined reference to `Message::print() const' /tmp/ccU2q7ZU.o: In function `User::MostraInviati()': User.cpp:(.text+0x38c): undefined reference to `Message::print() const' collect2: ld returned 1 exit status #ifndef USER_H #define USER_H #include <iostream> #include <string> #include <vector> #include "Message.h" using namespace std; class User{ public: User(); User(string,string,string); void NM(User&); void MostraRicevuti(); void MostraInviati(); string& getnome(); ~User(); private: string nick, nome, cognome; vector <Message> inviati, ricevuti; }; #endif #include "User.h" User::User(){} User::User(string a, string b, string c): nick (a), nome(b), cognome(c){;} void User::NM(User& a){ Message nuovo; string d7; getline (cin,d7); nuovo.setmess(d7); nuovo.dest=a.nome; nuovo.mitt=nome; inviati.push_back(nuovo); a.ricevuti.push_back(nuovo); } void User::MostraRicevuti(){ for (vector <Message>::iterator iter=ricevuti.begin(); iter!=ricevuti.end(); iter++){ iter->print(); } } void User::MostraInviati(){ for (vector <Message>::iterator iter=inviati.begin(); iter!=inviati.end(); iter++){ iter->print(); } } string& User::getnome(){ return nome; } User::~User(){cout<<"Utente eliminato"<<endl;} #ifndef MESSAGE_H #define MESSAGE_H #include <string> #include <vector> #include <iostream> #include "User.h" using namespace std; class Message{ public: friend class User; Message(); void setmess(string&); void print()const; private: string mitt, dest, mess, timestamp; }; #endif #include "Message.h" Message::Message(): mitt("-"), dest("-"), mess("-"), timestamp ("-"){;} void Message::print()const{ cout<<"Mittente:"<<mitt<<endl; cout<<"Destinatario:"<<dest<<endl; cout<<"Messaggio:"<<mess<<endl; cout<<"Timestamp:"<<timestamp<<endl<<endl; } void Message::setmess(string& a){ mess=a; }
[root@root Esame1]# g++ MailServer.cpp User.cpp main.cpp
In file included from Message.h:7,
from User.h:6,
from User.cpp:1:
MailServer.h:17: error: ‘User’ was not declared in this scope
MailServer.h:17: error: template argument 1 is invalid
MailServer.h:17: error: template argument 2 is invalid
MailServer.h:18: error: ‘Message’ was not declared in this scope
MailServer.h:18: error: template argument 1 is invalid
MailServer.h:18: error: template argument 2 is invalid
Why???

Rispondi quotando
