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 » ?
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!