Desactiver un warning dans eclipse [Forums - Outils de développements]
Desactiver un warning dans eclipse [Forums - Outils de développements]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes



(1) 2 »


Desactiver un warning dans eclipse
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1930
Hors Ligne
Bonjour

Quand j'ai une fonction qui demande un paramètre pointeur vers un type
exemple
void MaFonction(MonType *VariableDeMonType)


et que j'ai le malheur de lui passer une variable du bon type mais qualifiée en "const"

const MonType toto;
MaFonction(&toto) ;

Alors le compilateur me lève un warning
Citation :
discards 'const' qualifier from pointer target type [enabled by default]


Quand il y en a un ça va mais quand il y en a plusieurs... on ne voit les autres warnings, noyés là dedans.

Savez vous comment on peut désactiver ce warning précis ?

Je suis sous KDS mais il me semble que c’était pareil sous CW.

Merci par avance

Posté le : 13/05/2016 00:32
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: Desactiver un warning dans eclipse
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1335
Hors Ligne
Salut Charly,

pourquoi ne pas supprimer la cause du warning? A quoi sert de qualifier ta variable de const si tu autorises la fonction à la modifier?

Posté le : 13/05/2016 08:21
Transférer la contribution vers d'autres applications Transférer


Re: Desactiver un warning dans eclipse
Accro
Inscrit:
06/07/2007 09:17
Messages: 697
Hors Ligne
+1 Jacques

ou alors, il suffit de changer le prototype de ta fonction:
// pointeur vers un const
void MaFonction(const MonType *VariableDeMonType)


Voir en mieux:
// pointeur constant vers un const
void MaFonction(const MonType * const VariableDeMonType)

Posté le : 13/05/2016 08:35
Transférer la contribution vers d'autres applications Transférer


Re: Desactiver un warning dans eclipse
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1930
Hors Ligne
Bonjour

J'aime l'idée de supprimer la cause plutôt que le warning mais dans ce cas, je n'autorise pas la fonction à modifier la variable, j'autorise le fait de passer à la fonction une information (la variable) qui peut être modifiée par ailleurs.

Quand je n'ai pas besoin de modifier la variable avant de la passer à la fonction j'ajoute const (et j'ai le warning), mais quelquefois je n'ajoute pas const parce que j'ai à modifier la variable avant appel de la fonction.

Merci



Posté le : 13/05/2016 08:42
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: Desactiver un warning dans eclipse
Accro
Inscrit:
06/07/2007 09:17
Messages: 697
Hors Ligne
Sinon, tu pourrais écrire les 2 fonctions avec les 2 prototypes... et tu te sert de l'une ou l'autre en fonction de tes besoins...

Posté le : 13/05/2016 08:58
Transférer la contribution vers d'autres applications Transférer


Re: Desactiver un warning dans eclipse
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1930
Hors Ligne
Avoir 2 fois la même fonction juste pour "propriser" le passage d'un paramètre ?

Là je préfère encore garder mon rotjufjjkfskldfqsklqsdfjkldfqs de warning...

Ce serait un coup à modifier l'un et pas l'autre et de faire plus de mal que de bien ; outre l'augmentation de la taille du code

Posté le : 13/05/2016 09:18
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: Desactiver un warning dans eclipse
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1335
Hors Ligne
Citation :
j'autorise le fait de passer à la fonction une information (la variable) qui peut être modifiée par ailleurs.
Dans ce cas, pourquoi déclares-tu la variable comme constante si tu veux qu'elle puisse être modifiée par ailleurs?

Posté le : 13/05/2016 10:52
Transférer la contribution vers d'autres applications Transférer


Re: Desactiver un warning dans eclipse
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1930
Hors Ligne
dans certains cas j'ai besoin de la modifier, dans d'autre non et dans ce second cas je préfère ajouter const pour ne pas mettre tout ça en ram et officialiser la chose.


Posté le : 13/05/2016 11:06
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: Desactiver un warning dans eclipse
Accro
Inscrit:
06/07/2007 09:17
Messages: 697
Hors Ligne
Je comprend ton propos.
Je te donne juste mon avis.
Tu parle bien de deux cas distinct (1 modifie et l'autre non. Donc de deux process distinct.
Aussi je vois bien 2 fonctions distinctes.
Tu pourrais peut-être factoriser le code commun dans une autre sous fonction?

Après, je ne connais pas tes contraintes ;)

Posté le : 13/05/2016 11:37
Transférer la contribution vers d'autres applications Transférer


Re: Desactiver un warning dans eclipse
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1930
Hors Ligne
.unaise je cherchais un cas d'école dans mon code pour vous donner un exemple et je suis tombé sur un vieux projet où j'avais trouvé la solution (m'en souvenais plus !!!)


Donc pour ne pas avoir le warning il suffis de faire une conversion de type au moment du passage de paramètre
void MaFonction(MonType *VariableDeMonType){
....}

//------------------------------
const MonType toto// + l'initilisation évidement
MaFonction((Montype *)&toto) ;


Plus de warning puisqu'il a le bon type passé en paramètre ainsi

Désolé pour la question que j’avais surement déjà du poser il y a quelques années...

Posté le : 13/05/2016 11:38
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Desactiver un warning dans eclipse [Forums - Outils de développements]