je souhaite déclarer un tableau de pointeur sur Contact . pointeurs
on m'a proposé 2 choses ( qui sont sencé etre equivelente ) : sensées être équivalentes
**contact *contact[]
Techiniquement c du chinoix pour moi Techniquement, c'est du chinois pour moi.
classeA a; //a est de type classeA classeA *a; //(*a) est de type classeA //donc a est de type 'pointeur sur classeA
char **a; //a est un pointeur sur un pointeur de 'char' char *a[]; //ceci est équivalent à la précédente
Sans le vrai code, il est impossible de comprendre où est l'erreur de compilation.
Je m'excuse de corriger tes fautes d'orthographe/grammaire. Tout le monde à ses limites...
Jean-Marc Bourguet
"Laurent B" writes:
je souhaite déclarer un tableau de pointeur sur Contact . Contact etant une classe
std::vector<Contact*> le_nom_du_tableau;
Contact* le_nom_du_tableau[la_taille_du_tableau];
on m'a proposé 2 choses ( qui sont sencé etre equivelente ) :> **contact *contact[]
Faudrait donner le nom du type. Donc
Contact ** contact; Contact * contact[];
Le premier declare un pointeur vers un pointeur vers Contact. On peut eventuellement faire pointer ce pointeur vers un tableau de pointeurs vers Contact mais autant utiliser std::vector<Contact*>.
La seconde ecriture n'est valable que dans les declarations et definitions de fonctions, auquel cas elle est effectivement equivalente a la premiere. Pour declarer une variable (et non un parametre), il faut mettre la taille.
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
"Laurent B" <magus@free.fr> writes:
je souhaite déclarer un tableau de pointeur sur Contact . Contact
etant une classe
std::vector<Contact*> le_nom_du_tableau;
Contact* le_nom_du_tableau[la_taille_du_tableau];
on m'a proposé 2 choses ( qui sont sencé etre equivelente ) :>
**contact
*contact[]
Faudrait donner le nom du type. Donc
Contact ** contact;
Contact * contact[];
Le premier declare un pointeur vers un pointeur vers Contact. On peut
eventuellement faire pointer ce pointeur vers un tableau de pointeurs
vers Contact mais autant utiliser std::vector<Contact*>.
La seconde ecriture n'est valable que dans les declarations et
definitions de fonctions, auquel cas elle est effectivement
equivalente a la premiere. Pour declarer une variable (et non un
parametre), il faut mettre la taille.
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
je souhaite déclarer un tableau de pointeur sur Contact . Contact etant une classe
std::vector<Contact*> le_nom_du_tableau;
Contact* le_nom_du_tableau[la_taille_du_tableau];
on m'a proposé 2 choses ( qui sont sencé etre equivelente ) :> **contact *contact[]
Faudrait donner le nom du type. Donc
Contact ** contact; Contact * contact[];
Le premier declare un pointeur vers un pointeur vers Contact. On peut eventuellement faire pointer ce pointeur vers un tableau de pointeurs vers Contact mais autant utiliser std::vector<Contact*>.
La seconde ecriture n'est valable que dans les declarations et definitions de fonctions, auquel cas elle est effectivement equivalente a la premiere. Pour declarer une variable (et non un parametre), il faut mettre la taille.
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
Jean-Marc Bourguet
fabrizio writes:
char **a; //a est un pointeur sur un pointeur de 'char' char *a[]; //ceci est équivalent à la précédente
Ah?
-- 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
fabrizio <watch.the@stars.fr> writes:
char **a; //a est un pointeur sur un pointeur de 'char'
char *a[]; //ceci est équivalent à la précédente
Ah?
--
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
char **a; //a est un pointeur sur un pointeur de 'char' char *a[]; //ceci est équivalent à la précédente
Ah?
-- 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
korchkidu
Laurent B wrote:
Bonjour , je souhaite déclarer un tableau de pointeur sur Contact . Contact etant une classe
on m'a proposé 2 choses ( qui sont sencé etre equivelente ) :
**contact *contact[]
Techiniquement c du chinoix pour moi Leu milleu dent ceux ca c du tylisez lait std::vector..;)
K.
Laurent B wrote:
Bonjour ,
je souhaite déclarer un tableau de pointeur sur Contact .
Contact etant une classe
on m'a proposé 2 choses ( qui sont sencé etre equivelente ) :
**contact
*contact[]
Techiniquement c du chinoix pour moi
Leu milleu dent ceux ca c du tylisez lait std::vector..;)
Bonjour , je souhaite déclarer un tableau de pointeur sur Contact . Contact etant une classe
on m'a proposé 2 choses ( qui sont sencé etre equivelente ) :
**contact *contact[]
Techiniquement c du chinoix pour moi Leu milleu dent ceux ca c du tylisez lait std::vector..;)
K.
Jean-Marc Bourguet
korchkidu writes:
Laurent B wrote:
Bonjour , je souhaite déclarer un tableau de pointeur sur Contact . Contact etant une classe on m'a proposé 2 choses ( qui sont sencé etre equivelente ) : **contact *contact[] Techiniquement c du chinoix pour moi Leu milleu dent ceux ca c du tylisez lait std::vector..;)
Une traduction en francais peut-etre?
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
korchkidu <korch_ki_du@yahoo.fr> writes:
Laurent B wrote:
Bonjour ,
je souhaite déclarer un tableau de pointeur sur Contact .
Contact etant une classe
on m'a proposé 2 choses ( qui sont sencé etre equivelente ) :
**contact
*contact[]
Techiniquement c du chinoix pour moi
Leu milleu dent ceux ca c du tylisez lait std::vector..;)
Une traduction en francais peut-etre?
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
Bonjour , je souhaite déclarer un tableau de pointeur sur Contact . Contact etant une classe on m'a proposé 2 choses ( qui sont sencé etre equivelente ) : **contact *contact[] Techiniquement c du chinoix pour moi Leu milleu dent ceux ca c du tylisez lait std::vector..;)
Une traduction en francais peut-etre?
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
fabrizio
char **a; //a est un pointeur sur un pointeur de 'char' char *a[]; //ceci est équivalent à la précédente Ah?
Mea culpa si ce n'est pas le cas. Il me semblait qu'en C au moins ces deux syntaxes étaient équivalentes.
désolé.
char **a; //a est un pointeur sur un pointeur de 'char'
char *a[]; //ceci est équivalent à la précédente
Ah?
Mea culpa si ce n'est pas le cas.
Il me semblait qu'en C au moins ces deux syntaxes étaient équivalentes.
char **a; //a est un pointeur sur un pointeur de 'char' char *a[]; //ceci est équivalent à la précédente Ah?
Mea culpa si ce n'est pas le cas. Il me semblait qu'en C au moins ces deux syntaxes étaient équivalentes.
Non, pas en C non plus. Comme le disait Jean-Marc, ce qui est équivalent, c'est void foo(char **a)... void foo(char *a())...
Marc Boyer -- Je ne respecte plus le code de la route à vélo depuis une double fracture due au fait que j'étais le seul à le respecter.
Jean-Marc Bourguet
Marc Boyer writes:
In article <ct88l2$6ho$, fabrizio wrote:
char **a; //a est un pointeur sur un pointeur de 'char' char *a[]; //ceci est équivalent à la précédente Ah?
Mea culpa si ce n'est pas le cas. Il me semblait qu'en C au moins ces deux syntaxes étaient équivalentes.
Non, pas en C non plus. Comme le disait Jean-Marc, ce qui est équivalent, c'est void foo(char **a)... void foo(char *a())...
void foo(char *a[])
naturellement.
-- 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
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr.invalid> writes:
In article <ct88l2$6ho$1@utcnews.utc.fr>, fabrizio wrote:
char **a; //a est un pointeur sur un pointeur de 'char'
char *a[]; //ceci est équivalent à la précédente
Ah?
Mea culpa si ce n'est pas le cas.
Il me semblait qu'en C au moins ces deux syntaxes étaient équivalentes.
Non, pas en C non plus.
Comme le disait Jean-Marc, ce qui est équivalent, c'est
void foo(char **a)...
void foo(char *a())...
void foo(char *a[])
naturellement.
--
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
char **a; //a est un pointeur sur un pointeur de 'char' char *a[]; //ceci est équivalent à la précédente Ah?
Mea culpa si ce n'est pas le cas. Il me semblait qu'en C au moins ces deux syntaxes étaient équivalentes.
Non, pas en C non plus. Comme le disait Jean-Marc, ce qui est équivalent, c'est void foo(char **a)... void foo(char *a())...
void foo(char *a[])
naturellement.
-- 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
Marc Boyer
In article , Jean-Marc Bourguet wrote:
Marc Boyer writes:
In article <ct88l2$6ho$, fabrizio wrote:
char **a; //a est un pointeur sur un pointeur de 'char' char *a[]; //ceci est équivalent à la précédente Ah?
Mea culpa si ce n'est pas le cas. Il me semblait qu'en C au moins ces deux syntaxes étaient équivalentes.
Non, pas en C non plus. Comme le disait Jean-Marc, ce qui est équivalent, c'est void foo(char **a)... void foo(char *a())...
void foo(char *a[])
naturellement.
Oui, honte à moi...
Marc Boyer -- Je ne respecte plus le code de la route à vélo depuis une double fracture due au fait que j'étais le seul à le respecter.
In article <pxbwtu0z2y3.fsf@news.bourguet.org>, Jean-Marc Bourguet wrote:
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr.invalid> writes:
In article <ct88l2$6ho$1@utcnews.utc.fr>, fabrizio wrote:
char **a; //a est un pointeur sur un pointeur de 'char'
char *a[]; //ceci est équivalent à la précédente
Ah?
Mea culpa si ce n'est pas le cas.
Il me semblait qu'en C au moins ces deux syntaxes étaient équivalentes.
Non, pas en C non plus.
Comme le disait Jean-Marc, ce qui est équivalent, c'est
void foo(char **a)...
void foo(char *a())...
void foo(char *a[])
naturellement.
Oui, honte à moi...
Marc Boyer
--
Je ne respecte plus le code de la route à vélo depuis une double fracture
due au fait que j'étais le seul à le respecter.
char **a; //a est un pointeur sur un pointeur de 'char' char *a[]; //ceci est équivalent à la précédente Ah?
Mea culpa si ce n'est pas le cas. Il me semblait qu'en C au moins ces deux syntaxes étaient équivalentes.
Non, pas en C non plus. Comme le disait Jean-Marc, ce qui est équivalent, c'est void foo(char **a)... void foo(char *a())...
void foo(char *a[])
naturellement.
Oui, honte à moi...
Marc Boyer -- Je ne respecte plus le code de la route à vélo depuis une double fracture due au fait que j'étais le seul à le respecter.
Falk Tannhäuser
Jean-Marc Bourguet wrote:
Contact ** contact; Contact * contact[];
Le premier declare un pointeur vers un pointeur vers Contact. On peut eventuellement faire pointer ce pointeur vers un tableau de pointeurs vers Contact mais autant utiliser std::vector<Contact*>.
La seconde ecriture n'est valable que dans les declarations et definitions de fonctions, auquel cas elle est effectivement equivalente a la premiere. Pour declarer une variable (et non un parametre), il faut mettre la taille.
La seconde écriture sert aussi pour déclarer (sans le définir) un tableau dont on ne connaît pas la taille :
extern Contact* contact[];
ce qui n'est cependant pas la même chose que
extern Contact** contact;
(contrairement aux listes de paramètres dans les déclarations de fonctions, où void foo(Contact* contact[]); et void foo(Contact** contact); sont équivalents, ce qui constitue AMA une incohérence assez énorme dans la définition du langage - c'est pour cela que j'évite cette première écriture).
Falk
Jean-Marc Bourguet wrote:
Contact ** contact;
Contact * contact[];
Le premier declare un pointeur vers un pointeur vers Contact. On peut
eventuellement faire pointer ce pointeur vers un tableau de pointeurs
vers Contact mais autant utiliser std::vector<Contact*>.
La seconde ecriture n'est valable que dans les declarations et
definitions de fonctions, auquel cas elle est effectivement
equivalente a la premiere. Pour declarer une variable (et non un
parametre), il faut mettre la taille.
La seconde écriture sert aussi pour déclarer (sans le définir)
un tableau dont on ne connaît pas la taille :
extern Contact* contact[];
ce qui n'est cependant pas la même chose que
extern Contact** contact;
(contrairement aux listes de paramètres dans les déclarations
de fonctions, où
void foo(Contact* contact[]);
et
void foo(Contact** contact);
sont équivalents, ce qui constitue AMA une incohérence assez
énorme dans la définition du langage - c'est pour cela que
j'évite cette première écriture).
Le premier declare un pointeur vers un pointeur vers Contact. On peut eventuellement faire pointer ce pointeur vers un tableau de pointeurs vers Contact mais autant utiliser std::vector<Contact*>.
La seconde ecriture n'est valable que dans les declarations et definitions de fonctions, auquel cas elle est effectivement equivalente a la premiere. Pour declarer une variable (et non un parametre), il faut mettre la taille.
La seconde écriture sert aussi pour déclarer (sans le définir) un tableau dont on ne connaît pas la taille :
extern Contact* contact[];
ce qui n'est cependant pas la même chose que
extern Contact** contact;
(contrairement aux listes de paramètres dans les déclarations de fonctions, où void foo(Contact* contact[]); et void foo(Contact** contact); sont équivalents, ce qui constitue AMA une incohérence assez énorme dans la définition du langage - c'est pour cela que j'évite cette première écriture).