Miért warningol a fordító nagy veszélyt jelent ez a definíció?
char o[9][1] = {{'A'}, {'B'}, {'C'}, {'D'}, {'E'}, {'F'}, {'G'}, {'H'}, {'\0'}};
Így jó.
char o[9][1] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', '\0'};
Így warningol.
Az a baja,hogy nem belső zárójelezek?
Ha igen kikapcsolhatom ezt a funkciót ugye?
Szerintem jó mind a 2, elvileg az a baja, hogy minden betűnek külön kapcsos z.jel -ben kell lennie.
Azért jó ez:
char o[9][1] = {{'A'}, {'B'}, {'C'}, {'D'}, {'E'}, {'F'}, {'G'}, {'H'}, {'\0'}};
Az egy elemű tömbnek semmi értelme.
Azért warningol, mert tömb helyett te karaktert írsz, és azért működik, mert az egyelemű tömb gyakorlatilag megegyezik egy sima elemmel.
iostream nem értem a válaszodat,hogy miért rossz és miért jó.
Ez egy 2 dimenziós tömb ami 9 sorból és 1 oszlopból áll.
Ugyanaz mint egy egydimenziós tömb.
Nem értem miért warningol.
Szerintem is csak azért amiért amit az első válaszoló írt.
Mert a warning üzenetéből egyértelműen kiderül,hogy hiányolja a belső kapcsos zárójeleket.
Ezt pedig csak azért teszi,hogy a programozóknak nyilvánvalóbb legyen a 2D tömb inicializációja.
Mert a fordító nem tesz különbséget a belső zárójelezett és az a nélküli verzió között.A belső kapcsos zárójelek csak a programozó életét teszik könnyebbé.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!