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 

itoa

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Bruno Causse
Guest





PostPosted: Thu Jan 19, 2006 8:29 pm    Post subject: itoa Reply with quote



bonsoir,

par quoi remplacer cette fonction, j'ai lu quelle n'etait pas portable
(Dos), vous devez avoir une routine?

de plus cette fonction est dans une methode template et je ne comprend
pas le warning :-(

warning: there are no arguments to 'itoa' that depend on a template
parameter, so a declaration of 'itoa' must be available

merci


--
Bruno Causse
http://perso.wanadoo.fr/othello
Back to top
Fabien LE LEZ
Guest





PostPosted: Thu Jan 19, 2006 8:33 pm    Post subject: Re: itoa Reply with quote



On Thu, 19 Jan 2006 21:29:12 +0100, [email]pasde.hcyrano.spam (AT) free (DOT) fr[/email] (Bruno
Causse):

Quote:
Subject: itoa

par quoi remplacer cette fonction

Section 27.1 de la FAQ.
http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/

Quote:
there are no arguments to 'itoa' that depend on a template
parameter, so a declaration of 'itoa' must be available

Le compilateur a rencontré l'appel à une fonction "itoa" qui n'existe
pas. Typiquement, tu as oublié un #include quelque part.

Mais j'admets que le message d'erreur n'est pas très explicite.


Back to top
Jean-Marc Bourguet
Guest





PostPosted: Thu Jan 19, 2006 8:47 pm    Post subject: Re: itoa Reply with quote



[email]pasde.hcyrano.spam (AT) free (DOT) fr[/email] (Bruno Causse) writes:

Quote:
bonsoir,

par quoi remplacer cette fonction, j'ai lu quelle n'etait pas portable
(Dos), vous devez avoir une routine?

stringstream

Quote:
de plus cette fonction est dans une methode template et je ne comprend
pas le warning :-(

warning: there are no arguments to 'itoa' that depend on a template
parameter, so a declaration of 'itoa' must be available

Comme il n'y a aucun argument de itoa qui dépend d'un
paramètre template, une déclaration de itoa doit être
disponible. Seuls les noms qui dépendent d'un paramètre
template sont cherchés dans le contexte d'instantiation, les
autres ne sont cherchés que dans le contexte de définition
du template. C'était aussi la source de ton autre problème:
TMsgJoin ne dépendait pas d'un paramètre template dont il
fallait une définition disponible; comme la définition en
fait dépendait d'un paramètre template, j'ai rendu ce fait
explicite.

Je crains être confu. Reprenons à partir du début.

Dans un template quand on trouve un nom, il faut chercher
une définition (si elle ne se trouve pas dans le template
bien sûr). On peut les chercher à deux endroits: soit dans
le contexte de la définition du template, soit dans le
contexte de l'instantiation du template.

Certains noms sont indépendants des paramètres
templates, c'est à dire que rien dans leur utilisation
dépend des paramètres templates. C'était le cas de
TMsgJoin, c'est aussi le cas d'un appel:
f(e1, e2);
si e1 et e2 n'ont pas des types qui dépendent d'un paramètre
template. Ces noms sont cherchés uniquement dans le
contexte de la définition du template.

D'autres noms sont dépendants d'un ou plusieurs paramètres
templates. Par exemple si un des arguments d'une fonction a
pour type un paramètre template. Ces noms sont cherchés
aussi dans le contexte d'instantiation.

Quelque chose de particulier: si une classe template dérive
d'un paramètre template, les noms non qualifiés ne seront
pas cherchés dans cette classe de base (c'est pourquoi
TMsgJoin n'était pas trouvé). Il faut alors rendre ces noms
dépendants. Pour les membres non types, c'est facile on
utilise this->.

La règle de ne pas recherché les noms indépendants hors du
contexte de définition a été implémentées par gcc qu'à
partir de 3.4 me semble-t'il.

A+

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

 
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.