En C, déclarer les fonctions membres de la classe comme en ligne nécessite leur implémentation dans le fichier d'en-tête. Cette exigence découle de la « règle de définition unique (ODR) » pour les fonctions en ligne, qui exige qu'une définition identique existe dans toutes les unités de traduction utilisant la fonction.
La méthode la plus simple pour garantir le respect de l'ODR consiste à inclure la définition. dans un fichier d'en-tête accessible à toutes les unités de traduction. Ce faisant, le compilateur peut localiser et utiliser la même définition dans toutes les instances où la fonction est appelée.
Tenter de placer la définition en ligne dans un fichier .cpp entraîne une erreur de symbole externe non résolue. Cela se produit car le compilateur ne peut pas localiser la définition de fonction dans l'unité de traduction où elle est appelée.
Pour réitérer, les définitions de fonctions en ligne dans les fichiers d'en-tête facilitent la conformité ODR en garantissant qu'une définition identique existe dans chaque unité de traduction. Cependant, il est important de noter que déclarer une fonction en ligne ne garantit pas son intégration par le compilateur.
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!