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 

comprends pas

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





PostPosted: Tue Aug 05, 2003 9:06 am    Post subject: comprends pas Reply with quote



Bonjour,
Pourquoi le code suivant ne fonctionne pas ?
Merci de votre aide.


class MaClasse
{
private:

int Tableau[] =
{ 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 };
};

VC++ renvoit :
error C2059: syntax error : '{'
error C2334: unexpected token(s) preceding '{'; skipping apparent function
body



Back to top
Fabien LE LEZ
Guest





PostPosted: Tue Aug 05, 2003 9:16 am    Post subject: Re: comprends pas Reply with quote



On Tue, 5 Aug 2003 11:06:37 +0200, "Quentin" <qsabah (AT) wanadoo (DOT) fr>
wrote:

Quote:
class MaClasse
{
private:

int Tableau[] =
{ 0, 0, 0, 0, 0, 0,

Les variables membres doivent être initialisées dans le constructeur,
pas dans la définition de la classe.


--
Tout sur fr.* (FAQ, etc.) : http://www.usenet-fr.net/fur/
et http://www.aminautes.org/forums/serveurs/tablefr.html
Archives : http://groups.google.com/advanced_group_search
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html

Back to top
Christophe.Sanz@online.fr
Guest





PostPosted: Tue Aug 05, 2003 9:54 am    Post subject: Re: comprends pas Reply with quote



Fabien LE LEZ wrote:
Quote:

Les variables membres doivent être initialisées dans le constructeur,
pas dans la définition de la classe.

... à moins d'être déclarées ``static const''


bon app,
csz


Back to top
Julien Blanc
Guest





PostPosted: Tue Aug 05, 2003 11:12 am    Post subject: Re: comprends pas Reply with quote

Fabien LE LEZ wrote:
Quote:
On Tue, 05 Aug 2003 11:54:25 +0200, [email]Christophe.Sanz (AT) online (DOT) fr[/email] wrote:


Les variables membres doivent être initialisées dans le constructeur,
pas dans la définition de la classe.


.. à moins d'être déclarées ``static const''


Plus précisément, une variable "static const", de type entier, peut
être définie dans la définition de la classe...

je crois que ce n'est pas seulement peut mais bien *doit*. Au moins dans
certains cas.

Quote:
mais tous les
compilateurs ne le supportent malheureusement pas.

j'ai mes doutes au vu de ce que j'ai dit plus haut. Sinon, comment
fait-on la chose suivante avec de tels compilateurs ?

class foo {
static const int INITIAL_SIZE=5;
T données[INITIAL_SIZE];
}

Quote:
Une variable "static const" est généralement définie hors de la
définition de la classe, dans un .CPP (comme une variable globale, en
fait).

sauf si c'est un int et qu'elle est utilisée dans la déclaration de la
classe.

--
Julien Blanc. Equipe cadp. VERIMAG. Grenoble. France.


Back to top
Fabien LE LEZ
Guest





PostPosted: Tue Aug 05, 2003 11:27 am    Post subject: Re: comprends pas Reply with quote

On Tue, 05 Aug 2003 13:12:40 +0200, Julien Blanc
<Julien.Blanc (AT) imag (DOT) fr> wrote:

Quote:
j'ai mes doutes au vu de ce que j'ai dit plus haut. Sinon, comment
fait-on la chose suivante avec de tels compilateurs ?

class foo {
static const int INITIAL_SIZE=5;
T données[INITIAL_SIZE];
}

On ne fait pas Wink
En fait, il m'arrive assez rarement d'avoir des tableaux (non static)
de taille connue à la compilation.


--
Tout sur fr.* (FAQ, etc.) : http://www.usenet-fr.net/fur/
et http://www.aminautes.org/forums/serveurs/tablefr.html
Archives : http://groups.google.com/advanced_group_search
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html

Back to top
Christophe.Sanz@online.fr
Guest





PostPosted: Tue Aug 05, 2003 2:05 pm    Post subject: Re: comprends pas Reply with quote

Fabien LE LEZ wrote:
Quote:

[...] une variable "static const", de type entier, peut
être définie dans la définition de la classe... mais tous les
compilateurs ne le supportent malheureusement pas.

Gcc version 2.95.4 compile aussi pour des float, double...


Chanceux,
csz


Back to top
Fabien LE LEZ
Guest





PostPosted: Tue Aug 05, 2003 4:59 pm    Post subject: Re: comprends pas Reply with quote

On Tue, 05 Aug 2003 16:05:29 +0200, [email]Christophe.Sanz (AT) online (DOT) fr[/email] wrote:

Quote:
Gcc version 2.95.4 compile aussi pour des float, double...

Mais ce n'est plus du C++, c'est du "GCC 2.95.4"...


--
Tout sur fr.* (FAQ, etc.) : http://www.usenet-fr.net/fur/
et http://www.aminautes.org/forums/serveurs/tablefr.html
Archives : http://groups.google.com/advanced_group_search
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html

Back to top
Richard Delorme
Guest





PostPosted: Tue Aug 05, 2003 5:45 pm    Post subject: Re: comprends pas Reply with quote

Fabien LE LEZ a écrit :

Quote:
On Tue, 05 Aug 2003 16:05:29 +0200, [email]Christophe.Sanz (AT) online (DOT) fr[/email] wrote:

Gcc version 2.95.4 compile aussi pour des float, double...

Mais ce n'est plus du C++, c'est du "GCC 2.95.4"...

Et comme le GCC 2.95.4 n'existe pas chez GNU, il faut préciser du "GCC
2.95.4" de <distribution linux>.

--
Richard

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.