Bonjour à tous,
J'ai une classe mère de laquelle dérive des classes filles (et petites filles). J'appelle une méthode en passant par la classe mère dans toutes mes classes filles (remise à jour). La méthode est définie dans la classe mère et redéfinie dans chaque classe fille. Pour que ce soit la bonne méthode qui soit appelée, celle ci est déclarée virtuelle dans la classe mère:
virtual void miseAJour(float ratio) {}
Dans les classes filles, il n'y a pas de problèmes la méthode est redéfinie et utilise le paramètre ratio.
Par contre la méthode de la classe mère n'est pas utilisée et elle est donc vide. Du coup, le compilateur donne un avertissement car le paramètre ratio n'est pas utilisé
warning: unused parameter 'ratio' [-Wunused-parameter]
Par ailleurs, le programme fonctionne parfaitement.
Que doit-on faire pour ne pas avoir d'avertissement, notamment si d'autres personnes utilisaient mon code; je ne peux pas désactiver chez elle le Wunused-parameter. Et c'est toujours gênant d'avoir des avertissements.
Pour l'instant, j'ai mis le paramètre transmis en variable globale . J'avais aussi pensé à mettre une instruction du style variableQueJUtiliseAieeurs = ratio;, mais cela ne me plaît pas du tout.