 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Loïc Joly Guest
|
Posted: Thu Mar 10, 2005 9:46 pm Post subject: struct et class |
|
|
Bonjour à tous.
Je sais qu'à part les spécifications d'accès par défaut, struct et class
sont équivalents. Par contre, un type déclarée par struct peut il être
forward déclaré par class, ou réciproquement ?
J'ai eu récemment ce problème avec Visual C++, où il manglait le nom
d'une fonction différemment si c'était une class ou une struct, et donc
à la suite d'une forward declaration non concordante n'arrivait plus à
s'y retrouver. A-t-il raison ?
Merci,
--
Loïc
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Thu Mar 10, 2005 10:08 pm Post subject: Re: struct et class |
|
|
On Thu, 10 Mar 2005 22:46:40 +0100, Loïc Joly
<loic.actarus.joly (AT) wanadoo (DOT) fr>:
| Quote: | Par contre, un type déclarée par struct peut il être
forward déclaré par class, ou réciproquement ?
|
Il me semble que oui. Je dis "Il me semble" car je n'aime pas être
péremptoire, mais je crois bien me rappeler avoir vu une confirmation
ici même.
Toutefois, ce n'est que la norme ISO-C++, pas forcément le
comportement de compilateurs "presque-C++" qui suivent vaguement la
norme...
| Quote: | J'ai eu récemment ce problème avec Visual C++, où il manglait le nom
d'une fonction différemment si c'était une class ou une struct
|
Encore un bug de VC++ ?
--
;-)
|
|
| Back to top |
|
 |
kanze@gabi-soft.fr Guest
|
Posted: Fri Mar 11, 2005 8:45 am Post subject: Re: struct et class |
|
|
Loïc Joly wrote:
| Quote: | Je sais qu'à part les spécifications d'accès par défaut,
struct et class sont équivalents. Par contre, un type déclarée
par struct peut il être forward déclaré par class, ou
réciproquement ?
|
Certes. Les mots clés struct, class et union déclarent des types
de classe, voir §3.9.2 et §9.1. (La situation me semble moins
claire en ce qui concerne les unions ; §3.9.2 les cite bien
séparement des classes, tout en disant qu'elles sont des
classes. Mais §9.1 me semble clair ; il n'existe pas de type
union.)
| Quote: | J'ai eu récemment ce problème avec Visual C++, où il manglait
le nom d'une fonction différemment si c'était une class ou une
struct, et donc à la suite d'une forward declaration non
concordante n'arrivait plus à s'y retrouver. A-t-il raison ?
|
C'est une incompatibilité avec la norme. Et avec l'ARM, je
crois ; je n'en ai pas une copie ici pour vérifier, mais il me
semble que la norme n'a rien changé à cet égard.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Sat Mar 12, 2005 5:31 am Post subject: Re: struct et class |
|
|
Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
| Quote: | Bonjour à tous.
Je sais qu'à part les spécifications d'accès par défaut, struct et
class sont équivalents. Par contre, un type déclarée par struct peut
il être forward déclaré par class, ou réciproquement ?
|
Oui.
[ mes excuses à tous ceux qui attendent que je leur réponde -- je suis
quelque part enfoui dans les deserts du middle-west et je ne fais que
survoler les messages. ]
-- Gaby
|
|
| 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
|
|