Avatar billede jules_colding Nybegynder
06. september 2006 - 10:38 Der er 5 kommentarer og
1 løsning

Hvordan initializere jeg et 'private' array i en C++ klasse?

Hej,

Flg virker ikke i Visual Studio C++ 2005 eller i gcc:

class Test {
public:
        Test(void)
        {
        };

        ~Test(void)
        {
        };

private:
        static const int v[2] = { 1, 2 };
};

Hvordan skal jeg gøre? Er det overhovedet muligt??

Tak,
  jules
Avatar billede js_delphi Nybegynder
06. september 2006 - 11:04 #1
Sä vidt jeg ved, kan en attribut (dit array) ikke initialiseres direkte ved definitionen.
Det skal vel sä göres vha. din konstruktor.
Da dit array er af typen const kan det formentlig ikke lade sig göre.

Tror jeg...
Avatar billede segmose Nybegynder
06. september 2006 - 11:11 #2
i .h fil:
class Test {
public:
private:
        static const int v[2];
};

i .cpp fil:
        static const int Test::v[2] = { 1, 2 };
Avatar billede jules_colding Nybegynder
06. september 2006 - 11:39 #3
Hej segmose,

Dette giver en compile fejl:
        static const int Test::v[2] = { 1, 2 };

men det gør dette ikke:
        const int Test::v[2] = { 1, 2 };

Tak for svaret! Jeg skynder mig at acceptere :-)
Avatar billede jules_colding Nybegynder
06. september 2006 - 11:43 #4
Hej igen segmose,

Jeg proever fortvivlet at acceptere dit svar, men hverken firefox eller IE vil lade mig goere det.

Nogen ideer?
Avatar billede jules_colding Nybegynder
06. september 2006 - 11:44 #5
Så virkede accepteringen.

Tak for svaret segmose :-)
Avatar billede segmose Nybegynder
06. september 2006 - 12:05 #6
Oops glemte at fjerne static.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester