c++ public error

Pagina: 1
Acties:
  • 413 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • kevinkrs
  • Registratie: Juni 2010
  • Laatst online: 15-09 22:47
Beste tweakers,

Ik ben bezig met c++ en ik wil een variable public maken zodat ik het in andere bestanden nog kan ophalen.

Wat nu erg raar is, is dat ik het volgende fout krijgt:

error C2143: syntax error : missing ';' before 'public'

Terwijl er volgensmij helemaal niks mis mee is.

Dit is mijn code

code:
1
2
3
4
5
if(CH_wireframe == 1)
    {
         // pMenu->AddText("Moet geactiveerd zijn..."); Debug shit ofzo
         public bool variable;
    }


Weet iemand mischien mijn fout? Google is vandaag tegen me gekeerd :(

Met vriendelijke groet, Kevin.

Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 18:08

CoolGamer

What is it? Dragons?

Ik zou een basiscursus over classes in C++ bekijken. Daar komt het keyword public in terug en hoe je het goed kunt gebruiken. Public kan je niet gebruiken binnen een functie.

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • kevinkrs
  • Registratie: Juni 2010
  • Laatst online: 15-09 22:47
Ja ik heb google al afgezocht moet gewoon kunnen.
Maar ik wil dus een variable in een ander bestand weer kunnen ophalen, kan het alleen met public of wat zijn de mogenlijkheden?

Ik las ook dat extern iets kon zijn.

Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 18:08

CoolGamer

What is it? Dragons?

Je zou het zo kunnen doen: Wikipedia: External variable, maar dan moet je opletten dat variabelnamen uniek blijven. Dat is iets waar je met classes minder snel last van hebt.

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • kevinkrs
  • Registratie: Juni 2010
  • Laatst online: 15-09 22:47
Het gaat kennelijk goed totdat ik een if statement toevoeg, dan krijg ik deze fout:

1>xxxxx.obj : error LNK2001: unresolved external symbol "bool w" (?w@@3_NA)
1>F:\Documents and Settings\Kevin\My Documents\Visual Studio 2008\Projects\xxxx\Debug\xxxxxx.dll : fatal error LNK1120: 1 unresolved externals

Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 18:08

CoolGamer

What is it? Dragons?

Je moet in 1 bestand het zonder extern plaatsen. In de andere bestanden met.

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • kevinkrs
  • Registratie: Juni 2010
  • Laatst online: 15-09 22:47
Heb ik

Bestand 1:
code:
1
2
3
4
5
            if(CH_wireframe == 1)
            {
                // pMenu->AddText("Moet geactiveerd zijn..."); Debug shit ofzo
                bool w = true;
            }


Bestand 2:
code:
1
2
3
4
5
    extern bool w;
    if(w == true)
    {
        pDevice->SetRenderState(D3DRS_FILLMODE,D3DFILL_WIREFRAME);
    }

Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 18:08

CoolGamer

What is it? Dragons?

je moet het buiten de functie plaatsen:
C++: File1.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int test;
void func2();

int _tmain(int argc, _TCHAR* argv[])
{
    test = 5;
    func2();
    return 0;
}

void func2()
{
    test += 2;
}


extern heb je alleen nodig zodra je het wil aanroepen vanuit een ander cpp bestand.
C++: File2.cpp
1
2
3
4
5
6
extern int test;

void func3()
{
    test += 3;
}

[ Voor 14% gewijzigd door CoolGamer op 08-08-2010 00:57 ]

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • kevinkrs
  • Registratie: Juni 2010
  • Laatst online: 15-09 22:47
Stom van me!
Helemaal vergeten dat het buiten de functions moest.

het werkt nu heel erg bedankt ;)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Lees NMe in "C++ fout tijdens compilen" nog eens goed door ;) Wat je nu hier doet is nu net niet de bedoeling.

[ Voor 21% gewijzigd door Creepy op 08-08-2010 01:22 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.