Ich habe zwei Klassen: User.h und Room.h und beide enthalten einen Zeiger auf ein Objekt der anderen Klasse (Benutzer zu Raum und Raum zu Benutzer). Ich glaube, ich verstehe, wie die .h Dateien enthalten, aber ich bekomme immer noch Fehler in einer meiner .cpp Dateien (user.cpp).Zwei Klassen contaoin Mitglieder voneinander
user.h
#ifndef USER_H
#define USER_H
class Room;
using namespace std;
class User
{
private:
Room* _currRoom;
public:
//some functions...
};
#endif
room.h
#ifndef ROOM_H
#define ROOM_H
#include "User.h"
class Room
{
private:
vector<User*> _users;
User* _admin;
int _maxUsers;
int _questionTime;
int _questionsNo;
string _name;
int _id;
public:
Room(int id, User* admin, string name, int maxUsers, int questionsNo,int questionTime);
//more functions...
};
#endif
I enthalten user.h in room.cpp und room.h in user.cpp Was ist das Problem mit was habe ich gemacht?
Sie sollten 'cpp' Dateien nicht enthalten – Rakete1111
Wenn Sie Fehler haben, sollten Sie sie teilen. Wir lieben Fehlertext. – NathanOliver
Fehler Fehler C2514: 'Room': Klasse hat keine Konstruktoren, ich rief den Konstruktor in user.cpp – abcdef123