Pasar objetos const como argumento 'este': error de descalificación del calificador
En C, pasar objetos const como argumentos 'esto' a funciones miembro puede provocar errores de "pasar 'const xxx' ya que 'este' argumento de la función miembro descarta calificadores". Esto ocurre porque el compilador considera la posibilidad de que funciones miembro no constantes puedan modificar el objeto, lo cual está prohibido para objetos constantes.
Análisis de problemas
En el código proporcionado , los objetos del conjunto se almacenan como constante StudentT. Al acceder a las funciones miembro getId() y getName() dentro del bucle, el compilador detecta este problema ya que los objetos son constantes y las funciones miembro no están marcadas como constantes.
Solución
Para resolver el error, las funciones getId() y getName() deben hacerse constantes:
int getId() const { return id; } string getName() const { return name; }
Esto permite que las funciones se invoquen en objetos constantes sin violar las reglas constantes.
Notas adicionales
inline bool operator
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3