Exercice noté 1 : Warnings

Exercice noté 1 : Warnings

by Antoine Scardigli -
Number of replies: 1

Bonjour,

Pour l'exercice noté, j'ai à plusieurs endroits le warning suivant :

"warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]"

Par exemple ici:

void get_students_by_type(const Database db, StudentKind type, QueryResult result_out)
{
// Code
            result_out[j] = &db[i];
//Code
}

Mon code fonctionne malgré le warning.

si je crée une variable temporaire "Student a" comme ceci:

        Student a = db[i]

       result_out[j] = &a

Le warning disparait mais le code ne fonctionne plus comme expliqué dans votre cours car "a "est une variable dont l'adresse est alloqué dans la fonction uniquement.

Une solution est de supprimé "const" de l'argument database, mais l'énnoncé donne ce prototype ...

Bisous les amis.

(Edited by Merlin Eléazar Nimier-David - original submission Monday, 16 March 2020, 14:27)

In reply to Antoine Scardigli

Re: Exercice noté 1 : Warnings

by Merlin Eléazar Nimier-David -

Effectivement il ne faut pas changer la signature. Cependant, les types utilisés dans cette signature sont à définir dans votre code, donc je suggèrerai de regarder là bas si un petit changement règlerait le warning. C'est bien de ne pas l'avoir ignoré en tout cas !