Kezdőoldal » Számítástechnika » Programozás » Ez szegmentációs hiba vagy...

Ez szegmentációs hiba vagy fordítási hiba?

Figyelt kérdés

#include <iostream>


using namespace std;


int main()

{

int &d=5;

cout << d;

}

Codeblocks-ban debugnál már hibát jelez, de akkor az fordítási hiba? Vagy mivel érvénytelen memóriacímre hivatkozik segmentation fault?



2023. jún. 26. 17:24
 1/6 A kérdező kommentje:
És, hogyan tudom megkülönböztetni egymástól a szegmentációs, fordítási és futás idejű hibát?
2023. jún. 26. 17:25
 2/6 anonim ***** válasza:
100%

Fordítási hoba, mert helytelen a szintaxis:

test.cpp:11:8: error: cannot bind non-const lvalue reference of type ‘int&’ to an rvalue of type ‘int’

11 | int &d=5;

| ^


Ezt dobja, amikor megpróbálod fordítani, nem hiszem, hogy nálad debug üzenetek lennének.


Fordítási hiba: akkor jelentkezik, amikor fordítod a programot.


Futás idejű hiba: elindítod a programot és csak akkor jelebtkezik, tehát a fordítás még sikeres.


Szegmentációs hiba az az, amit mondtál, de az futási időben keletkezik, ahhoz először olyan kód kell, ami lefordul. Pl. csinálsz egy pointer és beállítod mondjuk 5-re, majd megpróbálod használni. Gondolom ezt akartad te is, de pointer típust a *-gal csinálsz. Az & az adott változó memóriacímét adja vissza.

2023. jún. 26. 17:41
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
köszönöm, nem debugot, hanem build-et akartam írni, fordításnál.
2023. jún. 26. 17:50
 4/6 anonim ***** válasza:
100%

Build-nél jelentkezik, akkor az rendre fordítási hiba.


A Szemantikai hiba, az futó alkalmazás mellet derülhet ki, hogy pl. egy lista összes páratlan elemét törli a páros helyett. De, ha az a tervezett, akkor nyilván nem szemantikai hiba. Tervezés/Döntés kérdése az utóbbi.

2023. jún. 26. 20:37
Hasznos számodra ez a válasz?
 5/6 anonim válasza:
Hogy lenne szegmentációs hiba, ha egyszer nem az?
2023. jún. 27. 10:32
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:

Olvasd el újra. Ha tervezett a működés, és a vártat kapod, akkor nem szemantikai hibás. Ha ettől eltér, akkor igen.


Ezt fordítva fejtettem ki, lehet ez zavart meg.

2023. jún. 29. 23:52
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!