Bei der Verwendung von Vorlagen in C, bei denen der Code zwischen Header- (H) und Quelldateien (CPP) aufgeteilt ist, kann dies der Fall sein Beim Verknüpfen treten Fehler „ungelöstes externes Symbol“ auf. Dies liegt daran, dass Vorlagen erst zum Zeitpunkt der Verwendung instanziiert werden. Bei Verwendung benötigt der Compiler die vollständige Funktionsdefinition, um den richtigen Code zu generieren.
In diesem Szenario befindet sich der Code der Funktion in der Quelldatei der Vorlage, auf die während der Programmquellkompilierung nicht zugegriffen werden kann. Der Compiler geht davon aus, dass die Funktion an anderer Stelle definiert ist und fügt nur den Funktionsaufruf ein. Die Quelldatei der Vorlage enthält jedoch nicht den spezifischen Vorlagentyp, der in der Programmquelle verwendet wird, was zu nicht aufgelösten externen Symbolen führt.
Um dieses Problem zu beheben, ziehen Sie die folgenden Optionen in Betracht:
Indem dem Compiler während des Programms Zugriff auf den vollständigen Vorlagenfunktionscode gewährt wird Bei der Quellkompilierung beheben diese Lösungen effektiv die Fehler „ungelöste externe Symbole“.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich bei C-Vorlagen die Fehlermeldung „Unaufgelöstes externes Symbol'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!