j'ai un petit code qui m'étonne... soit une fonction prenant un void*
en paramètre, lors de son appel, si je lui passe un double*, mon
compilateur dit rien... ok.
soit une fonction retournant un void *, lorsque j'assigne un double*
avec le retour de cette fonction, mon compilateur ne dit rien...
ici donc, pas besoin de caster ni le paramètre (en (void*)), ni le
retour de fonction (en (double*))...
maintenant, on prend les même et on recommence, à la différence près
que mon argument n'est plus un void* mais un void**, et mon retour
n'est plus un void* mais aussi un void **. là plus rien ne passe...
lors de l'appel de la fonction je suis obligé de caster mon double** en
void**, et lors du retour, je suis obligé de caster en double**,
pourquoi ?
pour un exemple plus parlant, considérez le code suivant :
| Je ne sais pas comment on dit tétracapillotracteur en éwé ;-)
Il faudrait que je l'invente :-)
-- Gaby
Gabriel Dos Reis
Emmanuel Delahaye writes:
| > sizeof (*S) == sizeof (T*), forall tags S, T. | | J'ai rien compris. Pas assez neurones...
La vraie restriction en question est :
All pointers to structure types shall have the same representation and alignment requirements as each other. All pointers to union types shall have the same representation and alignment requirements as each other. Pointers to other types need not have the same representation or alignment requirements.
-- Gaby
Emmanuel Delahaye <emdel@YOURBRAnoos.fr> writes:
| > sizeof (*S) == sizeof (T*), forall tags S, T.
|
| J'ai rien compris. Pas assez neurones...
La vraie restriction en question est :
All pointers to
structure types shall have the same representation and
alignment requirements as each other. All pointers to union
types shall have the same representation and alignment
requirements as each other. Pointers to other types need
not have the same representation or alignment requirements.
| > sizeof (*S) == sizeof (T*), forall tags S, T. | | J'ai rien compris. Pas assez neurones...
La vraie restriction en question est :
All pointers to structure types shall have the same representation and alignment requirements as each other. All pointers to union types shall have the same representation and alignment requirements as each other. Pointers to other types need not have the same representation or alignment requirements.
-- Gaby
Gabriel Dos Reis
Emmanuel Delahaye writes:
| Gabriel Dos Reis wrote on 09/11/04 : | > Emmanuel Delahaye writes: | > | >> J'arrête le C! | > | > C'est peut-être une bonne idée. | > | > -- Gaby | | ... toujours sympa.
Tu voulais que je dise que tu avais une très stupide idée ? Cela n'aurait pas été sympa ;-)
| | (Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Mais j'ai pas de séparateur de .sig. Il ne peut donc pas être invalide.
-- Gaby
Emmanuel Delahaye <emdel@YOURBRAnoos.fr> writes:
| Gabriel Dos Reis wrote on 09/11/04 :
| > Emmanuel Delahaye <emdel@YOURBRAnoos.fr> writes:
| >
| >> J'arrête le C!
| >
| > C'est peut-être une bonne idée.
| >
| > -- Gaby
|
| ... toujours sympa.
Tu voulais que je dise que tu avais une très stupide idée ? Cela
n'aurait pas été sympa ;-)
|
| (Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Mais j'ai pas de séparateur de .sig. Il ne peut donc pas être invalide.
| Gabriel Dos Reis wrote on 09/11/04 : | > Emmanuel Delahaye writes: | > | >> J'arrête le C! | > | > C'est peut-être une bonne idée. | > | > -- Gaby | | ... toujours sympa.
Tu voulais que je dise que tu avais une très stupide idée ? Cela n'aurait pas été sympa ;-)
| | (Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Mais j'ai pas de séparateur de .sig. Il ne peut donc pas être invalide.
-- Gaby
Antoine Leca
En , Emmanuel Delahaye va escriure:
(Ton séparateur de .sig est invalide.
Tu veux dire que RFC 2822 ou je-ne-sais-laquelle interdit de mettre deux tirets suivis d'un espace en tête de ligne, par exemple pour simuler le tiret long qui nous est interdit dans cette hiérarchie ?
Antoine
En mn.4c587d4b603f422c.15512@YOURBRAnoos.fr, Emmanuel Delahaye va escriure:
(Ton séparateur de .sig est invalide.
Tu veux dire que RFC 2822 ou je-ne-sais-laquelle interdit de mettre deux
tirets suivis d'un espace en tête de ligne, par exemple pour simuler le
tiret long qui nous est interdit dans cette hiérarchie ?
Tu veux dire que RFC 2822 ou je-ne-sais-laquelle interdit de mettre deux tirets suivis d'un espace en tête de ligne, par exemple pour simuler le tiret long qui nous est interdit dans cette hiérarchie ?
Antoine
drkm
Emmanuel Delahaye writes:
Gabriel Dos Reis wrote on 09/11/04 :
-- Gaby
... toujours sympa.
N'est-ce pas ?
(Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Ne doit-on pas utiliser un caractère blanc -- espace ou retour à la ligne ?
PS: Je connais ma signature.
--drkm
Emmanuel Delahaye <emdel@YOURBRAnoos.fr> writes:
Gabriel Dos Reis wrote on 09/11/04 :
-- Gaby
... toujours sympa.
N'est-ce pas ?
(Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Ne doit-on pas utiliser un caractère blanc -- espace ou retour à la
ligne ?
(Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Ne doit-on pas utiliser un caractère blanc -- espace ou retour à la ligne ?
PS: Je connais ma signature.
--drkm
Emmanuel Delahaye
Charlie Gordon wrote on 10/11/04 :
void *a = malloc (sizeof *a *taille)
C'est pas particulièrement lisible ;-)
C'est surtout faux.
T'as raison : il manque le ;
Oui
et taille est ambigu, on devrait mettre nombre.
Exact.
Mais le plus grave, c'est que le type de a étant void *, la taille de *a n'a aucun sens (même si la syntaxe est acceptée par une extension laxiste de gcc).
-- Emmanuel The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html The C-library: http://www.dinkumware.com/refxc.html
"C is a sharp tool"
Charlie Gordon wrote on 10/11/04 :
void *a = malloc (sizeof *a *taille)
C'est pas particulièrement lisible ;-)
C'est surtout faux.
T'as raison : il manque le ;
Oui
et taille est ambigu, on devrait mettre nombre.
Exact.
Mais le plus grave, c'est que le type de a étant void *, la taille de
*a n'a aucun sens (même si la syntaxe est acceptée par une extension
laxiste de gcc).
--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html
Mais le plus grave, c'est que le type de a étant void *, la taille de *a n'a aucun sens (même si la syntaxe est acceptée par une extension laxiste de gcc).
-- Emmanuel The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html The C-library: http://www.dinkumware.com/refxc.html
"C is a sharp tool"
Emmanuel Delahaye
drkm wrote on 10/11/04 :
-- Gaby
... toujours sympa.
N'est-ce pas ?
(Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Ne doit-on pas utiliser un caractère blanc -- espace ou retour à la ligne ?
La RFC dit "-- n"
-- Emmanuel The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html The C-library: http://www.dinkumware.com/refxc.html
"C is a sharp tool"
drkm wrote on 10/11/04 :
-- Gaby
... toujours sympa.
N'est-ce pas ?
(Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Ne doit-on pas utiliser un caractère blanc -- espace ou retour à la
ligne ?
La RFC dit "-- n"
--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html
(Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Ne doit-on pas utiliser un caractère blanc -- espace ou retour à la ligne ?
La RFC dit "-- n"
-- Emmanuel The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html The C-library: http://www.dinkumware.com/refxc.html
"C is a sharp tool"
Erwann ABALEA
On Wed, 10 Nov 2004, Emmanuel Delahaye wrote:
drkm wrote on 10/11/04 :
-- Gaby
... toujours sympa.
N'est-ce pas ?
(Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Ne doit-on pas utiliser un caractère blanc -- espace ou retour à la ligne ?
La RFC dit "-- n"
Ne dit-elle pas plutôt "n-- n"? Ou plutôt "rn-- rn", s'agissant de mail?
Et puis quelle RFC d'abord?
-- Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5 ----- Je profite de cet AAD pour faire un hors-sujet car je ne sais oû poser la question. Je cherche un Web qui explique le mode de transcription qui permet de transcrire la plupart des alphabets en alphabet latin. -+- PG in <http://neuneu.mine.nu> : transcrire la charte en neuneu -+-
On Wed, 10 Nov 2004, Emmanuel Delahaye wrote:
drkm wrote on 10/11/04 :
-- Gaby
... toujours sympa.
N'est-ce pas ?
(Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Ne doit-on pas utiliser un caractère blanc -- espace ou retour à la
ligne ?
La RFC dit "-- n"
Ne dit-elle pas plutôt "n-- n"?
Ou plutôt "rn-- rn", s'agissant de mail?
Et puis quelle RFC d'abord?
--
Erwann ABALEA <erwann@abalea.com> - RSA PGP Key ID: 0x2D0EABD5
-----
Je profite de cet AAD pour faire un hors-sujet car je ne sais oû poser
la question. Je cherche un Web qui explique le mode de transcription
qui permet de transcrire la plupart des alphabets en alphabet latin.
-+- PG in <http://neuneu.mine.nu> : transcrire la charte en neuneu -+-
(Ton séparateur de .sig est invalide. Oui, je sais, tu t'en fous...)
Ne doit-on pas utiliser un caractère blanc -- espace ou retour à la ligne ?
La RFC dit "-- n"
Ne dit-elle pas plutôt "n-- n"? Ou plutôt "rn-- rn", s'agissant de mail?
Et puis quelle RFC d'abord?
-- Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5 ----- Je profite de cet AAD pour faire un hors-sujet car je ne sais oû poser la question. Je cherche un Web qui explique le mode de transcription qui permet de transcrire la plupart des alphabets en alphabet latin. -+- PG in <http://neuneu.mine.nu> : transcrire la charte en neuneu -+-