C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Parameter x is never used
Goto page 1, 2  Next
 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Gabriel Dos Reis
Guest





PostPosted: Mon Jun 21, 2004 4:27 am    Post subject: Re: Parameter x is never used Reply with quote



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





PostPosted: Wed Jun 23, 2004 5:33 am    Post subject: Parameter x is never used Reply with 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 :

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





PostPosted: Wed Jun 23, 2004 6:02 am    Post subject: Re: Parameter x is never used Reply with quote



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





PostPosted: Wed Jun 23, 2004 6:21 am    Post subject: Re: Parameter x is never used Reply with quote

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





PostPosted: Wed Jun 23, 2004 6:22 am    Post subject: Re: Parameter x is never used Reply with quote

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





PostPosted: Wed Jun 23, 2004 6:58 am    Post subject: Re: Parameter x is never used Reply with quote

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é.

Merci,

PurL



Back to top
Alain Migeon
Guest





PostPosted: Wed Jun 23, 2004 7:50 am    Post subject: Re: Parameter x is never used Reply with quote

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





PostPosted: Wed Jun 23, 2004 8:02 am    Post subject: Re: Parameter x is never used Reply with quote

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





PostPosted: Wed Jun 23, 2004 8:55 am    Post subject: Re: Parameter x is never used Reply with quote

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





PostPosted: Wed Jun 23, 2004 9:30 am    Post subject: Re: Parameter x is never used Reply with quote

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





PostPosted: Wed Jun 23, 2004 11:23 am    Post subject: Re: Parameter x is never used Reply with quote

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





PostPosted: Wed Jun 23, 2004 11:33 am    Post subject: Re: Parameter x is never used Reply with quote


"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





PostPosted: Wed Jun 23, 2004 12:21 pm    Post subject: Re: Parameter x is never used Reply with quote

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





PostPosted: Wed Jun 23, 2004 5:05 pm    Post subject: Re: Parameter x is never used Reply with quote


"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





PostPosted: Wed Jun 23, 2004 5:06 pm    Post subject: Re: Parameter x is never used Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.