Es scheint, dass, wenn ein unique_ptr in vector<unique_ptr<UserInterface>>
ich mit einem Fehler besagt:Fehler: C2280 einen Vektor von unique_ptr Klasse Erstellen
Error 1 error C2280: 'std::unique_ptr<UserInterface,std::default_delete<_Ty>>::unique_ptr(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)' : attempting to reference a deleted function c:\pr...ude\xmemory0 593 1 Win32Project1
Scheinbar erlaubt keine Konfiguration speichern mir [Smart] Zeiger auf die Userinterface-Klasse, die eine einfache Struktur hat:
#define InterfaceContruct vector<unique_ptr<UserInterface>>
class UserInterfaceMgmt
{
public:
UserInterfaceMgmt();
~UserInterfaceMgmt();
InterfaceContruct Interface;
void AddUIElement();
void RemoveUIElement();
void DrawInterface();
void MoveElement();
private:
};
Auch wenn keine Funktion aufgerufen wird, wird der Fehler auftaucht (InterfaceContruct Interface;
instanziiert) ich habe versucht, den Kopierkonstruktor in private
b setzen Aber es bleibt bestehen.
.cpp
Die Datei ist:
#include "stdafx.h"
#include "UserInterfaceMgmt.h"
UserInterfaceMgmt::UserInterfaceMgmt()
{
}
UserInterfaceMgmt::~UserInterfaceMgmt()
{
}
void UserInterfaceMgmt::DrawInterface(){
for (UINT i = 0; i < Interface.size(); i++)
{
Interface[i]->Draw();
}
}
Was ist die Instanziierung backtrace für diese Fehlermeldung? – aschepler
Wie sieht Ihre Klasse 'UserInterface' aus? – cwschmidt