Maison > développement back-end > C++ > Pourquoi est-ce que j'obtiens une erreur de liaison de variable statique dans mon code C ?

Pourquoi est-ce que j'obtiens une erreur de liaison de variable statique dans mon code C ?

Barbara Streisand
Libérer: 2024-12-16 01:24:10
original
384 Les gens l'ont consulté

Why Am I Getting a Static Variable Linking Error in My C   Code?

Erreur de liaison de variable statique en C

Lors de la compilation du code C, en particulier sur un Mac, vous pouvez rencontrer une "erreur de liaison de variable statique" similaire à celui rapporté dans l’extrait de code fourni. Cette erreur survient généralement lorsque vous essayez de référencer une variable statique qui n'a pas été correctement définie en externe (dans le fichier *.cpp).

Racine du problème

Dans le code fourni, la variable statique "theString" est déclarée dans le fichier d'en-tête "Log.h" mais n'est jamais définie. Les variables statiques nécessitent une définition externe dans le fichier *.cpp correspondant pour réserver de la mémoire et les initialiser.

Solution

Pour résoudre l'erreur de liaison, vous pouvez ajouter la définition de "theString" au fichier "Log.cpp", comme indiqué ci-dessous :

// Log.cpp

string Log::theString; // Define the static string here
Copier après la connexion

Supplémentaire Recommandations

En plus de définir la variable statique en externe, il est également recommandé d'éviter d'utiliser "using namespace std;" dans le fichier d'en-tête. Cette pratique peut entraîner une pollution de l'espace de noms, rendant plus difficile le débogage et la maintenance de votre code à l'avenir.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal