Hogyan lehet C++-ban megoldani?
Egy, a main() függvényben deklarált kétdimenziós karakter tömböt, hogy tudok egy függvényben megváltoztatni.
Én erre gondolom:
int main() {
char tomb[10][10];
valtoztato-fuggveny(tomb)
}
valtoztato_fuggveny(char& s[10][10]) {
s[3][5] = 'k'
}
Ez nekem így nem működött. Meg lehet ezt így oldani vagy muszáj mutatókat használni? Ha igen, akkor hogyan kell kétdimenziós tömbre?
Előre is köszi! Minden (nem ócsároló) válaszra megy a zöld pacsi.
void f(char t[][10]) {
}
vagy
void f(char *t[10]) {
}
Hát ezen a kódon nem csodálkozom, ha nem működött, tele van szintaktikus hibával.
A C++ egyik legjobb újítása a C-hez képest, hogy paraméterátadasnál nem kell mutatókat használni, mert van cím szerinti paraméterátadás, nem csak érték szerinti.
Na.
A char *t, az nem char *t[10].
"A C++ egyik legjobb újítása a C-hez képest, hogy paraméterátadasnál nem kell mutatókat használni, mert van cím szerinti paraméterátadás, nem csak érték szerinti."
Dehát nincs. C-ben csak érték szerinti volt, az stimmel. C++-ban meg nincs érték szerinti vagy cím szerinti, inicializáció szerinti van.
Ha leírod, hogy
void f(int xa, int& ya, int* za);
és aztán valahol meghívod, hogy
int xs, ys, zs;
f(xs, ys, &zs);
akkor kb ez kerül be a függvény elejére:
int xa(xs);
int& ya(ys);
int* za(&zs);
További 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!