Kezdőoldal » Számítástechnika » Programozás » C++-ban az extern int a;...

C++-ban az extern int a; utasítás csak globális változók esetén használható, ugye?

Figyelt kérdés

2017. aug. 27. 17:01
 1/7 anonim ***** válasza:
0%

mivel arra való, így igen.

Ezzel jelzed a fordítónak, hogy az a változót globálisként deklarálod.

2017. aug. 27. 18:10
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
2017. aug. 27. 18:10
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:

Én azt hittem, hogy azt jelöljük vele, hogy egy másik fájlban definiáltuk az adott változót.


Mert ugye függvényblokkokon kívül (globálisként) lehet így is definiálni egy globális változót:

int a;

2017. aug. 27. 19:02
 4/7 anonim ***** válasza:
extern kulcsszóval jelzed a fordítónak ,hogy a változódat valahol máshol és máskor kívánod definiálni az az a extern kulcsszóval csak deklarálsz szimplán. Tehát megmondod a fordítónak hogy lesz majd egy ilyen nevű és típusú változód de ezzel még nem hoztad létre és memóriaterület sem foglalódik neki egészen a definiálásig.
2017. aug. 27. 20:50
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:
Értem, és ezt lokális változókkal nem lehet megtenni.
2017. aug. 27. 20:56
 6/7 sharkxxx ***** válasza:

Lokális változókkal nem működik.


Példa:


void func() {

    int local_variable = 0;

    if (true) {

        extern int local_variable;

        local_variable++; // Error: Undefined reference to local_variable

    }

}

2017. aug. 27. 21:09
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:

Előző azért kapsz undefined hibát mert nem létező változóra hivatkozol. De a deklarált változókat mindig definiálni kell mielőtt használni próbálnánk.

Ezért a példát helyesen így néz ki:


void func() {

int local_variable = 0;

if (true) {

extern int local_variable;

int local_variable = 0;

local_variable++; // Error: Undefined reference to local_variable

}

}

2017. aug. 28. 13:51
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!