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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabien LE LEZ
On Thu, 10 Mar 2005 22:46:40 +0100, Loïc Joly :
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...
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++ ?
-- ;-)
On Thu, 10 Mar 2005 22:46:40 +0100, Loïc Joly
<loic.actarus.joly@wanadoo.fr>:
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...
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
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...
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++ ?
-- ;-)
kanze
Loïc Joly wrote:
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.)
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
Loïc Joly wrote:
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.)
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
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.)
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
Gabriel Dos Reis
Loïc Joly writes:
| 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
Loïc Joly <loic.actarus.joly@wanadoo.fr> writes:
| 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. ]
| 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. ]