Ich habe eine Klasse, die wie folgt aussieht:Fehler: Keine tragfähige überlastet =
class MemberListEntry {
public:
int id;
short port;
long heartbeat;
long timestamp;
MemberListEntry(int id, short port, long heartbeat, long timestamp);
MemberListEntry(int id, short port);
MemberListEntry(): id(0), port(0), heartbeat(0), timestamp(0) {}
MemberListEntry(const MemberListEntry &anotherMLE);
MemberListEntry& operator =(const MemberListEntry &anotherMLE);
int getid();
short getport();
long getheartbeat();
long gettimestamp();
void setid(int id);
void setport(short port);
void setheartbeat(long hearbeat);
void settimestamp(long timestamp);
};
Die ich einen Code haben, der es wie folgt instanziiert:
int id = stoi(address.substr(0, pos));
short port = (short)stoi(address.substr(pos + 1, address.size()-pos-1));
memcpy(&addr[0], &id, sizeof(int));
memcpy(&addr[4], &port, sizeof(short));
MemberListEntry mEntry;
mEntry = new MemberListEntry(id, port);
Ich erhalte diese Fehlermeldung:
error: no viable overloaded '='
mEntry = new MemberListEntry(id, port);
Irgendeine Idee, was die Ursache des Problems sein könnte?
'new MemberListEntry' gibt einen' MemberListEntry * 'zurück; 'mEntry' ist ein gewöhnlicher' MemberListEntry'. – nrussell