 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Gabriel Dos Reis Guest
|
Posted: Mon Jun 21, 2004 4:27 am Post subject: Re: Parameter x is never used |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:
| Quote: | Bonjour,
J'ai une fonction, en cours de création, qui ressemble à ça :
bool f (std::string const& x)
{
return true;
}
Bien évidemment, mon compilo râle parce que le paramètre "x" n'est pas
utilisé. Histoire de le faire taire pendant que je réfléchis à
l'implémentation réelle de la fonction, je tente ceci :
|
En C++, tu peux simplement dire
bool f(const std::string&) { return true; }
i.e., tu n'es pas obligé de nommer un paramètre si tu ne t'en sers
pas. (Ce n'est évidemment pas le cas en C).
[...]
| Quote: | Bon, c'est pas une affaire d'état, et j'imagine que c'est encore une
bizarrerie de mon compilo, mais si jamais quelqu'un sait pourquoi en
voyant "return x, true;" il ne réagit pas de la même façon qu'en
voyant "x; return true;"...
|
Peut-être que l'optimiseur n'est pas encore assez avancé ? :-)
-- Gaby
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Wed Jun 23, 2004 5:33 am Post subject: Parameter x is never used |
|
|
Bonjour,
J'ai une fonction, en cours de création, qui ressemble à ça :
bool f (std::string const& x)
{
return true;
}
Bien évidemment, mon compilo râle parce que le paramètre "x" n'est pas
utilisé. Histoire de le faire taire pendant que je réfléchis à
l'implémentation réelle de la fonction, je tente ceci :
bool f (std::string const& x)
{
return x, true;
}
Et là, il râle toujours... alors qu'avec ceci :
bool f (std::string const& x)
{
x;
return true;
}
il ne râle plus (et considère donc que "x" est utilisé).
Bon, c'est pas une affaire d'état, et j'imagine que c'est encore une
bizarrerie de mon compilo, mais si jamais quelqu'un sait pourquoi en
voyant "return x, true;" il ne réagit pas de la même façon qu'en
voyant "x; return true;"...
Merci d'avance ;-)
--
schtroumpf schtroumpf
|
|
| Back to top |
|
 |
Loïc Joly Guest
|
Posted: Wed Jun 23, 2004 6:02 am Post subject: Re: Parameter x is never used |
|
|
Fabien LE LEZ wrote:
| Quote: | Bonjour,
J'ai une fonction, en cours de création, qui ressemble à ça :
bool f (std::string const& x)
{
return true;
}
Bien évidemment, mon compilo râle parce que le paramètre "x" n'est pas
utilisé.
|
Souvent, si tu écris
bool f (std::string const& )
{
return true;
}
Les compilos ne font plus de warning.
--
Loïc
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Wed Jun 23, 2004 6:21 am Post subject: Re: Parameter x is never used |
|
|
On Wed, 23 Jun 2004 08:02:24 +0200, Loïc Joly
<loic.actarus.joly (AT) wanadoo (DOT) fr>:
| Quote: | Souvent, si tu écris
bool f (std::string const& )
Les compilos ne font plus de warning.
|
Je sais. Mais j'ai gardé le nom du paramètre parce que je savais en
avoir besoin quand j'ai écrit l'implémentation réelle.
--
schtroumpf schtroumpf
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
Posted: Wed Jun 23, 2004 6:22 am Post subject: Re: Parameter x is never used |
|
|
Fabien LE LEZ <gramster (AT) gramster (DOT) com> writes:
| Quote: | Bonjour,
J'ai une fonction, en cours de création, qui ressemble à ça :
bool f (std::string const& x)
{
return true;
}
Bien évidemment, mon compilo râle parce que le paramètre "x" n'est pas
utilisé. Histoire de le faire taire pendant que je réfléchis à
l'implémentation réelle de la fonction, je tente ceci :
|
La maniere normale en C++, c'est de ne pas donner de nom au parametre.
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
|
|
| Back to top |
|
 |
PurL Guest
|
Posted: Wed Jun 23, 2004 6:58 am Post subject: Re: Parameter x is never used |
|
|
Désolé de mon intervention sans rapport avec la question, mais je voulais
juste comprendre le sens de l'instruction ci-dessus car je ne l'ai jamais
rencontré.
Merci,
PurL
|
|
| Back to top |
|
 |
Alain Migeon Guest
|
Posted: Wed Jun 23, 2004 7:50 am Post subject: Re: Parameter x is never used |
|
|
In article <cbb6ct$mvf$1 (AT) news-reader2 (DOT) wanadoo.fr>,
[email]loic.actarus.joly (AT) wanadoo (DOT) fr[/email] says...
| Quote: | Souvent, si tu écris
bool f (std::string const& )
{
return true;
}
Les compilos ne font plus de warning.
|
Avec Visual C++ 6, le compilo ne fait pas de warning si le niveau de
warning est 3, mais en fera un si le niveau de warning est 4.
_______________________________
Alain Migeon
Software engineer - Rovsing Dynamics - Skovlunde - Denmark
Please reverse dk and rovsing for replying
|
|
| Back to top |
|
 |
Aurélien REGAT-BARREL Guest
|
Posted: Wed Jun 23, 2004 8:02 am Post subject: Re: Parameter x is never used |
|
|
| Quote: | Désolé de mon intervention sans rapport avec la question, mais je voulais
juste comprendre le sens de l'instruction ci-dessus car je ne l'ai jamais
rencontré.
|
Moi non plus je n'ai jamais vu ça.
Pour virer le warning en voulant garder le nom du paramètre (pour plus
tard), il me semble que la manière simple et portable est :
bool f (std::string const& x)
{
(void) x;
return true;
}
--
Aurélien REGAT-BARREL
|
|
| Back to top |
|
 |
Vincent Guichard Guest
|
Posted: Wed Jun 23, 2004 8:55 am Post subject: Re: Parameter x is never used |
|
|
PurL a écrit :
| Quote: | return x, true;
Désolé de mon intervention sans rapport avec la question, mais je voulais
juste comprendre le sens de l'instruction ci-dessus car je ne l'ai jamais
rencontré.
|
La virgule (,) est un opérateur de séquencement qui est évalué de gauche
à droite. Dans l'expression "x, true" , le compilateur évalue d'abord
"x", puis "true" qui est alors passé au return. Le résultat de "x" est
perdu,mais on a l'assurance (?) que l'évaluation de "x" a bien été
effectuée et que tous ses effets de bordon été résolus avant
l'évaluation de "true".
Vincent Guichard
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Wed Jun 23, 2004 9:30 am Post subject: Re: Parameter x is never used |
|
|
On Wed, 23 Jun 2004 08:58:00 +0200, "PurL" <purl-nospam (AT) chez (DOT) com>:
| Quote: | return x, true;
Désolé de mon intervention sans rapport avec la question, mais je voulais
juste comprendre le sens de l'instruction ci-dessus car je ne l'ai jamais
rencontré.
|
"a, b" évalue a et b (dans ce sens, je crois), et renvoie b.
Exemple :
int f()
{
cout << "f" << endl;
return 1;
}
int g()
{
cout << "g" << endl;
return 2;
}
int h()
{
return f(),g();
}
int main()
{
cout << h() << endl;
}
affichera :
f
g
2
--
schtroumpf schtroumpf
|
|
| Back to top |
|
 |
Aurélien Regat-Barrel Guest
|
Posted: Wed Jun 23, 2004 11:23 am Post subject: Re: Parameter x is never used |
|
|
Ca explique ce drôle de code que je viens de découvrir ailleurs :
void ma_fonction( int p );
ma_fonction( (1, 2, 3) );
En fait c'est une erreur mais je me demandais pourquoi ça compilais et ce
que ça voulais dire.
Merci.
--
Aurélien REGAT-BARREL
|
|
| Back to top |
|
 |
Jacky Goyon Guest
|
Posted: Wed Jun 23, 2004 11:33 am Post subject: Re: Parameter x is never used |
|
|
"Aurélien Regat-Barrel" <nospam (AT) nospam (DOT) com> a écrit dans le message news:
40d96621$0$2855$636a15ce (AT) news (DOT) free.fr...
| Quote: | Ca explique ce drôle de code ...
|
la virgule est surtout utilisée dans une boucle for, par ex :
....
for( i=0, j=10; i<6 ; i++, j--)
....
Jacky
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Wed Jun 23, 2004 12:21 pm Post subject: Re: Parameter x is never used |
|
|
On Wed, 23 Jun 2004 13:33:55 +0200, "Jacky Goyon"
<goyon (AT) club-internet (DOT) fr>:
| Quote: | la virgule est surtout utilisée dans une boucle for
|
Et dans la programmation d'un Mastermind ;-)
--
schtroumpf schtroumpf
|
|
| Back to top |
|
 |
Alexandre Guest
|
Posted: Wed Jun 23, 2004 5:05 pm Post subject: Re: Parameter x is never used |
|
|
"PurL" <purl-nospam (AT) chez (DOT) com> a écrit dans le message de
news:cbb9kv$v3k$1 (AT) news-reader5 (DOT) wanadoo.fr...
| Quote: | return x, true;
Désolé de mon intervention sans rapport avec la question, mais je voulais
juste comprendre le sens de l'instruction ci-dessus car je ne l'ai jamais
rencontré.
je crois que ça n'existe pas. Je ne vois pas ce que ça voudrait dire, |
d'ailleurs. l'opérateur , représente une séparation dans une liste. Comment
renvoyer une liste de valeurs ? Infaisable, non ? Enfin AMA.
|
|
| Back to top |
|
 |
Alexandre Guest
|
Posted: Wed Jun 23, 2004 5:06 pm Post subject: Re: Parameter x is never used |
|
|
oups, j'aurais du tout lire avant de poster. Ok, je comprends mieux. Donc
c'est possible.
On peut pas enlever un post ? Je sais, il vaut mieux lire avant d'écrire ;-)
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|