ein Member einer verwaltet-Klasse kann kein nicht-verwaltet-Klassentyp sein

Heinz Koeck 100 Zuverlässigkeitspunkte
2024-03-09T13:18:08.51+00:00

Ich möchte in der Form1 (ref Klasse) einen Vector definieren und initialisieren. Egal wo ich in der Klasse diesen Vector definiere bekomme ich vom Editor die Meldung: ein Member einer verwaltet-Klasse kann kein nicht-verwaltet-Klassentyp sein

Wie geht das?

lg heinz

Visual Studio
Visual Studio
Eine Familie von Microsoft-Sammlungen integrierter Entwicklungstools zum Erstellen von Anwendungen für Windows, das Web und mobile Geräte.
37 Fragen
C++
C++
Eine hochentwickelte, allgemeine Programmiersprache, die als Erweiterung der Programmiersprache C entwickelt wurde und neben den Möglichkeiten der Speicherbearbeitung auf untergeordneter Ebene auch objektorientierte, generische und funktionale Features bietet.
17 Fragen
0 Kommentare Keine Kommentare
{count} Stimmen

Akzeptierte Antwort
  1. Ivan Dragov (CONCENTRIX Corporation) 2,640 Zuverlässigkeitspunkte Microsoft-Anbieter
    2024-03-10T14:28:35.32+00:00

    Hallo Heinz,

    Du kannst eine verwaltete C++-Klasse nicht von einer nicht verwalteten C++-Klasse ableiten. Instanzen verwalteter Klassen werden durch Garbage Collection gesammelt und auf dem CLR-Heap erstellt. Instanzen nicht verwalteter Klassen werden auf dem nicht verwalteten Heap zugewiesen. Du kannst keine Klasse erstellen, dessen Daten teilweise auf dem verwalteten Heap und teilweise auf dem nicht verwalteten Heap liegen. Du solltest einen verwalteten Container über die nicht verwaltete Klasse wickeln und daraus Ableitungen vornehmen, wie hier empfohlen:

    Can you derive a Managed C++ class from an Unmanaged C++ class?

    Gruß,

    Ivan Dragov


0 zusätzliche Antworten

Sortieren nach: Am hilfreichsten

Ihre Antwort

Fragesteller*innen können Antworten als akzeptierte Antworten markiert werden, wodurch Benutzer*innen wissen, dass diese Antwort das Problem gelöst hat.