Maison >développement back-end >C++ >Pourquoi mon code C obtient-il une erreur de liaison « Référence non définie à une variable statique » ?
Référence non définie à une variable statique : résolution des erreurs de lien
Lors de la compilation du code C, vous pouvez rencontrer une erreur « Symboles non définis » lors du référencement d'un variable statique définie dans un fichier d'en-tête. Cette erreur se produit car l'éditeur de liens ne parvient pas à trouver la définition de la variable statique lors de la liaison.
Dans l'exemple fourni, le fichier d'en-tête Log.h déclare un membre de chaîne statique theString. Cependant, la définition de cette variable statique est absente du fichier Log.cpp. Pour résoudre ce problème, suivez ces étapes :
Définissez la variable statique dans le fichier CPP :
#include "Log.h" #include <iostream> // Define the static variable here string Log::theString; void Log::method(string arg) { theString = "hola"; cout << theString << endl; }
Supprimer la déclaration d'espace de noms inutile :
En apportant ces modifications, l'éditeur de liens pourra trouver la définition de la variable statique lors de la liaison, résolvant ainsi le Erreur "Symboles non définis".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!