ich diese Klasse habe:C++ | Kann keine Elemente in der Klasse Mitglied Vektor hinzufügen
class CAppFramework : public IBaseApp
{
public:
CAppFramework(std::initializer_list< CClientApp* > input);
CAppFramework();
~CAppFramework();
void Create() override;
void Release() override;
std::vector< CClientApp* > GetClientApps();
private:
std::vector< CClientApp* > m_ClientApps;
};
Wenn ich versuche, ein Element in dem m_ClientApps Vektor wie folgen hinzuzufügen:
int main()
{
CAppFramework appframework = CAppFramework();
appframework.GetClientApps().push_back(new CTest());
appframework.Create();
appframework.Release();
return 0;
}
Es schlägt fehl. Die Größe des Vektors bleibt 0.
Allerdings, wenn ich Artikel wie folgt hinzu:
int main()
{
CAppFramework appframework = CAppFramework({ new CTest() });
appframework.Create();
appframework.Release();
return 0;
}
Der Artikel erfolgreich hinzugefügt wird immer. Warum das? Ich hoffe, dass mir jemand helfen kann.
Tschüss und einen schönen Tag!
'GetClientApps' eine Kopie zurückgibt, wenn es einen Verweis zurückkommen sollte. – nwp