Kezdőoldal » Számítástechnika » Programozás » C++-ban hogyan lehet belefutni...

C++-ban hogyan lehet belefutni a most vexing parse hibába?

Figyelt kérdés

Ugyebár a kerek zárójeles inicializáláshoz kapcsolódik a hiba, csak nem tudom, hogy alaptípusú változók esetén is jelentkezik-e, vagy csak objektumok esetén, illetve hogy egy bizonyos szabványverziótól kezdve megoldott probléma-e, csak mert nálam hiba nélkül fut például ez:

int valami(0);

std::cout << valami;

Illetve a wikin feltüntetett példa sem dob hibát:

[link]

Tudtok esetleg valamit erről? Nyilván az a szándékom, hogy ne forduljon a progi, amit írok, csak kíváncsi vagyok, hogy mégis milyen helyzetekben okoz ez hibát, mire kell figyelni.



#C++ #vexing parse
2020. dec. 11. 18:35
 1/1 anonim ***** válasza:

Pdig amit a wikiben leírtak az bizony fordítási hibát okoz. A hibajelenség lényege, hogy a C++ esetében ami függvénydeklarációnak néz ki, azt annak is kell vennie. Így pl a Wikis példa esetében a

TimeKeeper time_keeper(Timer());


úgy kerül értelmezésre, hogy deklarálsz egy time_keeper nevű, TimeKeeper visszatérésű függvényt, amelynek egy Timer visszatérésű, névtelen, paraméter nélküli függvény pointer az egyetlen paramétere.


Szóval a válasz nagyvonalakban az, hogy akkor van most vexing hiba, ha a változó definiálásod megfeleltethető valamilyen függvénydeklarációnak.


Példának okáért ez is egy most vexing hibát okoz:

[link]

2020. dec. 12. 01:36
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!