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 

pb VC6 polymorphisme & fct virtuelle

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





PostPosted: Thu Jan 05, 2006 9:46 am    Post subject: pb VC6 polymorphisme & fct virtuelle Reply with quote



Hello,
Mon compilateur (VC6) me renvoie l'erreur suivante :
'class1::function1' : overriding virtual function differs from
'class2::function2' only by return type or calling convention

Or class1 dérive de class2 ET le type renvoyé par function1 dérive de
celui renvoyé par function2.
Je pensais que les conditions étaient suffisantes pour affecter la fonction
virtuelle de la classe parente mais apparament le type de retour doit être
le même que celui la fonction 'super' et ne peut pas être celui d'une classe
dérivée.
Pouvez vous (con|in)firmer ?

Thx
JCG





Back to top
Aurélien Barbier-Accary
Guest





PostPosted: Thu Jan 05, 2006 10:00 am    Post subject: Re: pb VC6 polymorphisme & fct virtuelle Reply with quote



Jean-Charles Gibier a écrit :
Quote:
Hello,
Mon compilateur (VC6) me renvoie l'erreur suivante :
'class1::function1' : overriding virtual function differs from
'class2::function2' only by return type or calling convention

Or class1 dérive de class2 ET le type renvoyé par function1 dérive de
celui renvoyé par function2.
Je pensais que les conditions étaient suffisantes pour affecter la fonction
virtuelle de la classe parente mais apparament le type de retour doit être
le même que celui la fonction 'super' et ne peut pas être celui d'une classe
dérivée.
Pouvez vous (con|in)firmer ?

Thx
JCG


Bonjour,
il me semble qu'il faudrait retourner des références (ou des pointeurs) dans les
deux fonctions pour que la surcharge soit possible.
Aurélien.

Back to top
Jean-Charles Gibier
Guest





PostPosted: Thu Jan 05, 2006 10:12 am    Post subject: Re: pb VC6 polymorphisme & fct virtuelle Reply with quote




"Aurélien Barbier-Accary" <NOSPAM_barbier.aurelien (AT) free (DOT) fr.invalid> a écrit
dans le message de news: 43bcee63$0$21698$626a54ce (AT) news (DOT) free.fr...
Quote:
Jean-Charles Gibier a écrit :
Hello,
Mon compilateur (VC6) me renvoie l'erreur suivante :
'class1::function1' : overriding virtual function differs from
'class2::function2' only by return type or calling convention

Or class1 dérive de class2 ET le type renvoyé par function1 dérive de
celui renvoyé par function2.
Je pensais que les conditions étaient suffisantes pour affecter la
fonction virtuelle de la classe parente mais apparament le type de
retour doit être le même que celui la fonction 'super' et ne peut pas
être celui d'une classe dérivée.
Pouvez vous (con|in)firmer ?

Thx
JCG


Bonjour,
il me semble qu'il faudrait retourner des références (ou des pointeurs)
dans les deux fonctions pour que la surcharge soit possible.
Aurélien.

C'est le cas.
petite digression : en fait j'essaye de compiler le code du serveur
realmedia , comme le code est supposé être valide, j'imagine que l'erreur
peut aussi se situer dans le contexte de la compilation (option, variable
d'environnement).



Back to top
Jean-Marc Bourguet
Guest





PostPosted: Thu Jan 05, 2006 10:16 am    Post subject: Re: pb VC6 polymorphisme & fct virtuelle Reply with quote

"Jean-Charles Gibier" <jeancharlesg_NOSPAM_ (AT) free (DOT) fr> writes:

Quote:
Hello,
Mon compilateur (VC6) me renvoie l'erreur suivante :
'class1::function1' : overriding virtual function differs from
'class2::function2' only by return type or calling convention
^^^^^^^^^

Tu es sur?

Quote:
Or class1 dérive de class2 ET le type renvoyé par function1 dérive de
celui renvoyé par function2.
Je pensais que les conditions étaient suffisantes pour affecter la fonction
virtuelle de la classe parente mais apparament le type de retour doit être
le même que celui la fonction 'super' et ne peut pas être celui d'une classe
dérivée.

VC6 est peut-etre suffisemment vieux pour ne pas implementer cette
regle.

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
Jean-Charles Gibier
Guest





PostPosted: Thu Jan 05, 2006 10:40 am    Post subject: Re: pb VC6 polymorphisme & fct virtuelle Reply with quote


"Jean-Marc Bourguet" <jm (AT) bourguet (DOT) org> a écrit dans le message de news:
[email]pxb1wzn9dzf.fsf (AT) news (DOT) bourguet.org[/email]...
Quote:
"Jean-Charles Gibier" <jeancharlesg_NOSPAM_ (AT) free (DOT) fr> writes:

Hello,
Mon compilateur (VC6) me renvoie l'erreur suivante :
'class1::function1' : overriding virtual function differs from
'class2::function2' only by return type or calling convention
^^^^^^^^^
Tu es sur?

En fait c'est le message générique du manuel la vraie sortie est la
suivante (les sources du projet Helix étant open depuis 2000 je peux être
plus explicite Smile :
error C2555: 'CInOrderPacketDeliveryQueue::peek_front' : overriding virtual
function differs from 'CInorderPacketQueue::peek_front' only by return type
or calling convention

or dans la classe 'CInorderPacketQueue' la déclaration est la suivante :
--------------------8<-----------------------
virtual CQueueEntry* peek_front();

--------------------8<-----------------------
et dans CInOrderPacketDeliveryQueue l'implémentation est celle ci :
--------------------8<-----------------------
public:
virtual InOrderPacketDeliveryEntry* peek_front()
{
if(CInorderPacketQueue::size())
{
return (InOrderPacketDeliveryEntry*)CInorderPacketQueue::peek_front();
}
else
{
return NULL;
}

--------------------8<-----------------------
et enfin je confirme que la classe 'InOrderPacketDeliveryEntry' est bien
fille de 'CQueueEntry'

class InOrderPacketDeliveryEntry
: public CQueueEntry
, public HXListElem
....


Quote:

Or class1 dérive de class2 ET le type renvoyé par function1 dérive de
celui renvoyé par function2.
Je pensais que les conditions étaient suffisantes pour affecter la
fonction
virtuelle de la classe parente mais apparament le type de retour doit
être
le même que celui la fonction 'super' et ne peut pas être celui d'une
classe
dérivée.

VC6 est peut-etre suffisemment vieux pour ne pas implementer cette
regle.

C'est ce que je subodore mais comme je n'ai (sauf erreur) pas vu de de

contre indication dans le readme,
il va falloir que je me replonge dans les ML ou que je remonte le pb.



Back to top
Jean-Marc Bourguet
Guest





PostPosted: Thu Jan 05, 2006 10:42 am    Post subject: Re: pb VC6 polymorphisme & fct virtuelle Reply with quote

"Jean-Charles Gibier" <jeancharlesg_NOSPAM_ (AT) free (DOT) fr> writes:

Quote:
"Jean-Marc Bourguet" <jm (AT) bourguet (DOT) org> a écrit dans le message de news:
[email]pxb1wzn9dzf.fsf (AT) news (DOT) bourguet.org[/email]...
"Jean-Charles Gibier" <jeancharlesg_NOSPAM_ (AT) free (DOT) fr> writes:

Hello,
Mon compilateur (VC6) me renvoie l'erreur suivante :
'class1::function1' : overriding virtual function differs from
'class2::function2' only by return type or calling convention
^^^^^^^^^
Tu es sur?

En fait c'est le message générique du manuel la vraie sortie est la
suivante (les sources du projet Helix étant open depuis 2000 je peux être
plus explicite Smile :
error C2555: 'CInOrderPacketDeliveryQueue::peek_front' : overriding virtual
function differs from 'CInorderPacketQueue::peek_front' only by return type
or calling convention

Mon probleme etait fonction1 et fonction2. On a bien deux fois
peek_front :-)

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
Jean-Charles Gibier
Guest





PostPosted: Thu Jan 05, 2006 10:51 am    Post subject: Re: pb VC6 polymorphisme & fct virtuelle Reply with quote


"Jean-Marc Bourguet" <jm (AT) bourguet (DOT) org> a écrit dans le message de news:
[email]pxbmzib7y7l.fsf (AT) news (DOT) bourguet.org[/email]...
Quote:
"Jean-Charles Gibier" <jeancharlesg_NOSPAM_ (AT) free (DOT) fr> writes:

"Jean-Marc Bourguet" <jm (AT) bourguet (DOT) org> a écrit dans le message de news:
[email]pxb1wzn9dzf.fsf (AT) news (DOT) bourguet.org[/email]...
"Jean-Charles Gibier" <jeancharlesg_NOSPAM_ (AT) free (DOT) fr> writes:

Hello,
Mon compilateur (VC6) me renvoie l'erreur suivante :
'class1::function1' : overriding virtual function differs from
'class2::function2' only by return type or calling convention
^^^^^^^^^
Tu es sur?

En fait c'est le message générique du manuel la vraie sortie est la
suivante (les sources du projet Helix étant open depuis 2000 je peux être
plus explicite Smile :
error C2555: 'CInOrderPacketDeliveryQueue::peek_front' : overriding
virtual
function differs from 'CInorderPacketQueue::peek_front' only by return
type
or calling convention

Mon probleme etait fonction1 et fonction2. On a bien deux fois
peek_front :-)


Et je suis bon pour un "work around" Smile
(En fait l'annonce du projet Helix date de 2002 et non 2000)



Back to top
loic.actarus.joly@numeric
Guest





PostPosted: Thu Jan 05, 2006 8:15 pm    Post subject: Re: pb VC6 polymorphisme & fct virtuelle Reply with quote


Jean-Marc Bourguet a écrit :

Quote:
VC6 est peut-etre suffisemment vieux pour ne pas implementer cette
regle.

C'est le cas
:http://support.microsoft.com/default.aspx?scid=kb;en-us;240862

--
Loïc


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.