Kezdőoldal » Számítástechnika » Programozás » C++: létezik olyan fordító,...

C++: létezik olyan fordító, amely normálisan képes jelezni a forráskódban lévő hibát és a tényleges előfordulási helyen, nem másik hatszáz helyen?

Figyelt kérdés

Többek közt az akadályoz meg hogy megtanuljam a C nyelvet, hogy a fordító nem képes normálisan detektálni a hibát, például lemarad egy ; jel, akkor képes az adott sor előtt hibát jelezni és utána is, végigmegy az egész kódon a hibával és olyan sorokat is problematikusnak talál, amelyekkel semmi probléma nincs.

Ha a ; jel visszakerül a helyére, akkor egyetlen hibaüzenet vagy bármiféle figyelmeztetés nélkül fut a kód.

Pascal fordító normálisan képes megmondani a hibát, sorszámát és nem gördíti végig az egész kódon a hibaüzenetet: azért mert egyetlen ; vagy bármi el lett hagyva, az egész kód még nem rossz...

A nagyon fejlett C miért nem képes erre, esetleg van olyan fordító, amely rendelkezik ezzel a különleges képességgel hogy normálisan sorszám szerint megmondja a hibát és nem kezd el nyavalyogni tökéletes sorok miatt hogy hibásak?



2016. okt. 28. 11:40
1 2 3
 11/21 A kérdező kommentje:
Értem, mutatok majd kódot hogy mire gondolok, másnál (aki kezdő) is ezt csinálta, rendeszeresen konzultáltunk és számos esetben az adott sor utáni első vagy második sortól kezdett panaszkodni különféle nem létező hibákra.
2016. okt. 28. 21:40
 12/21 A kérdező kommentje:

Azt hiszem ez a kód volt.

cserénél a második sorban elhagytam a ; jelet.

Most nem tudom kipróbálni mert nem akar a fordító Win alatt működni.


#include <stdio.h>

#include <stdlib.h>


int main() {

int tomb [9]=

{9,8,7,6,5,4,3,2,1,0

};

int i,j,temp;

for(i=0; i<=8;i++){

for(j=i+1; j<=9;j++){

if (tomb[i]<tomb[j]) {

temp=tomb[i]

tomb[i]=tomb[j]

tomb[j]=temp;

}

}

}

return 0;

}

2016. okt. 28. 22:01
 13/21 anonim ***** válasza:

7:1: error: too many initializers for 'int [9]'

13:1: error: expected ';' before 'tomb'


Két hiba, mindkettőt elég precízen leírta. (illetve plusz egy ; hiány van később, de a szintaktikai hiba miatt azt már nem elemezte ki.

2016. okt. 28. 23:09
Hasznos számodra ez a válasz?
 14/21 A kérdező kommentje:
Ami zavar hogy (itt akkor valószínűleg nem bizonyosodik be) nem pontosan az adott sornál jelezte a hibát és 4-5 hibát jelzett egyszerre, ha a ; a helyére került, akkor errors=0 és warnings=0 lett azonnal.
2016. okt. 29. 05:09
 15/21 anonim ***** válasza:

prog.cpp:12:13: error: expected ';' after expression

temp=tomb[i]

^

;

prog.cpp:13:16: error: expected ';' after expression

tomb[i]=tomb[j]

^

;

2 errors generated.

2016. okt. 29. 12:30
Hasznos számodra ez a válasz?
 16/21 A kérdező kommentje:
Milyen fordítóval fordítottad a programot ami ilyen precíz volt?
2016. okt. 29. 16:46
 17/21 anonim ***** válasza:
Clang, Visual Studioba is be van építve, project beállításoknál át lehet állítani.
2016. okt. 29. 21:34
Hasznos számodra ez a válasz?
 18/21 SimkoL ***** válasza:

C++ Builder:

[C++ Error] Unit1.c(13): E2225 Too many initializers

[C++ Error] Unit1.c(20): E2379 Statement missing ;

[C++ Warning] Unit1.c(26): W8004 'temp' is assigned a value that is never used

2016. okt. 29. 21:45
Hasznos számodra ez a válasz?
 19/21 anonim ***** válasza:
Szerintem most tartunk ott, hogy mutatnod kéne egy hibaüzenetet fordítóval+verziószámmal együtt attól a fordítótól, ami erre NEM ad értelmes üzenetet.
2016. okt. 29. 22:17
Hasznos számodra ez a válasz?
 20/21 anonim ***** válasza:

gcc.exe (GCC) 4.8.1

"C:\MinGW\bin\gcc.exe" "C:\Users\Tamás\Desktop\demo.c" -o "C:\Users\Tamás\Desktop\demo.exe"

Process started >>>

C:\Users\Tamßs\Desktop\demo.c: In function 'main':

C:\Users\Tamßs\Desktop\demo.c:7:1: warning: excess elements in array initializer [enabled by default]

};

^

C:\Users\Tamßs\Desktop\demo.c:7:1: warning: (near initialization for 'tomb') [enabled by default]

C:\Users\Tamßs\Desktop\demo.c:13:1: error: expected ';' before 'tomb'

tomb[i]=tomb[j]

^

<<< Process finished. (Exit code 1)

================ READY ================

2016. okt. 29. 22:20
Hasznos számodra ez a válasz?
1 2 3

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!