Passer des objets Const en tant qu'argument 'this' : erreur de disqualification du qualificateur
En C , passer des objets const en tant qu'arguments 'this' aux fonctions membres peut entraîner des erreurs "passer 'const xxx' comme 'cet' argument de la fonction membre rejette les qualificatifs". Cela se produit car le compilateur considère la possibilité que des fonctions non membres const puissent modifier l'objet, ce qui est interdit pour les objets const.
Analyse des problèmes
Dans le code fourni , les objets de l'ensemble sont stockés sous la forme const StudentT. Lors de l'accès aux fonctions membres getId() et getName() dans la boucle, le compilateur détecte ce problème car les objets sont const et les fonctions membres ne sont pas marquées comme const.
Solution
Pour résoudre l'erreur, les fonctions getId() et getName() doivent être créées const:
int getId() const { return id; } string getName() const { return name; }
Cela permet aux fonctions d'être appelées sur des objets const sans violer les règles const.
Notes supplémentaires
inline bool operator
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3