Behebung eines ungelösten externen Symbolfehlers (LNK2001) für statische Objekte
Bei einem Versuch, einem statischen Feld in einer Klasse einen Wert zuzuweisen Bei der Hauptmethode ist ein unerklärlicher Fehler aufgetreten: „Unaufgelöstes externes Symbol“. Dieser Fehler weist darauf hin, dass der Linker während des Verknüpfungsprozesses keine Definition für die statische Mitgliedsvariable finden konnte.
Gemäß der C-Referenz ist eine Deklaration eines statischen Datenmitglieds innerhalb einer Klassendefinition keine Definition. Das bedeutet, dass Sie die statische Mitgliedsvariable nicht innerhalb der Klasse selbst definieren können. Um den Fehler zu beheben, müssen Sie das statische Mitglied außerhalb der Klasse in einem Namespace-Bereich definieren.
In Ihrem Fall sollten Sie die statische Mitgliedsvariable B::a außerhalb von B-Klasse wie folgt:
<code class="cpp">A* B::a;</code>
Das obige ist der detaillierte Inhalt vonWarum erhalte ich für statische Objekte den Fehler „Unaufgelöstes externes Symbol' (LNK2001)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!