 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Quentin Guest
|
Posted: Tue Aug 05, 2003 9:06 am Post subject: comprends pas |
|
|
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
|
Posted: Tue Aug 05, 2003 9:16 am Post subject: Re: comprends pas |
|
|
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
|
Posted: Tue Aug 05, 2003 9:54 am Post subject: Re: comprends pas |
|
|
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
|
Posted: Tue Aug 05, 2003 11:12 am Post subject: Re: comprends pas |
|
|
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
|
|
| Back to top |
|
 |
Christophe.Sanz@online.fr Guest
|
Posted: Tue Aug 05, 2003 2:05 pm Post subject: Re: comprends pas |
|
|
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
|
|
| Back to top |
|
 |
Richard Delorme Guest
|
Posted: Tue Aug 05, 2003 5:45 pm Post subject: Re: comprends pas |
|
|
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 |
|
 |
|
|
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
|
|