Problem mit CArray
-
Hallo,
ich habe eine MFC-Klasse erstellt, die CNewSocket heißt und von der Klasse CAsyncSocket erbt.
Jetzt wollte ich ein dynamisches Array erstellen, das Objekt vom Typ CNewSocket aufnehmen kann. Dazu habe ich folgendes Array generiert:
CArray<CNewSocket,CNewSocket> m_arSocketsund füge mein Objekt folgendermaßen hinzu:
CNewSocket mySocket; mySocket.Create(1000); m_arSockets.Add(mySocket);Wenn ich das ganze jetzt compiliere kommt folgender Fehler:
error C2664: 'Add' : cannot convert parameter 1 from 'class CNewSocket' to 'class CNewSocket'
No copy constructor available for class 'CNewSocket'Hä??? Wenn ich eine normale von mir erstellte Klasse hinzufüge, klappts einwandfrei. Kann es sein, dass er Probleme mit MFC-Klassen hat?
Vielen Dank
-
Wieso sollte das was mit MFC-Klassen im Allgemeinen zu tun haben?
Es gibt nunmal Objekte, von denen man keine Kopie anlegen darf/kann bzw. für die man manuell einen Kopierkonstruktor schreiben muss. Das musst Du hier tun.
-
Ja das leuchtet mir ein. Und wie erstelle ich einen solchen Copykonstruktor für eine Klasse?