Maison > développement back-end > C++ > Pourquoi un membre entier statique const en C provoque-t-il une erreur d'éditeur de liens « Référence non définie » ?

Pourquoi un membre entier statique const en C provoque-t-il une erreur d'éditeur de liens « Référence non définie » ?

DDD
Libérer: 2024-12-10 20:28:11
original
631 Les gens l'ont consulté

Why Does a Static Const Integer Member in C   Cause an

Référence non définie au membre entier const statique

Malgré l'idée fausse selon laquelle C permet de définir des entiers membres const statiques dans les définitions de classe, le code donné déclenche une erreur de l'éditeur de liens due à une référence non définie à test::N. Cette erreur survient lorsque le code tente d'utiliser la variable membre statique non initialisée.

Bien qu'il soit possible d'initialiser des entiers const statiques dans la déclaration de classe, cela ne constitue pas une définition. Pour résoudre le problème, le membre doit être défini séparément dans la portée de l'espace de noms, mais sans initialiseur.

Dans ce cas, puisque std::min prend ses paramètres par référence constante, une définition de test::N est requis. Sans la définition, l'éditeur de liens ne peut pas résoudre la référence à la variable membre.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal