Problem z przekazaniem podwójnej tablicy, wskaźniki.
Ostatnio zmodyfikowano 2015-07-09 14:05
miki3 Temat założony przez niniejszego użytkownika |
Problem z przekazaniem podwójnej tablicy, wskaźniki. » 2015-06-30 14:48:51 void func( char * tab[], char * tab1[] ) { char * pt[]; char * ptt[]; pt = tab; ptt = tab1; } int main() { int tab_size20 = policz_jaki_ma_byc_rozmiar_tablicy(); char * tab[ tab_size20 ]; char * tab1[ tab_size20 ]; func( tab, tab1 ); return 0; }
error: incompatible types in assignment of 'char**' to 'char* [0]' |
|
asembler |
» 2015-06-30 16:20:51 pt = *( tab ); ptt = *( tab1 );
Może to ci pomoże. |
|
pekfos |
» 2015-06-30 17:40:26 char * pt[]; char * ptt[];
|
Nie możesz tak zrobić. int tab_size20 = policz_jaki_ma_byc_rozmiar_tablicy(); char * tab[ tab_size20 ]; char * tab1[ tab_size20 ];
|
Ani tak. |
|
miki3 Temat założony przez niniejszego użytkownika |
» 2015-07-01 00:22:03 Czemu nie mogę tak, co w tym złego ??? char *ptt[] to jest to samo co char **ptt, a robiąc tak char *ptt[20]; rozumiem ,że alokuje 20 wskaźników typu char. |
|
darko202 |
» 2015-07-01 08:06:12
char * ptt[] char ** ptt
char * ptt[ 20 ]; int rozmiar = Tu_sobie_oblicz ę() char * ptt[ 20 ]; char * ptt[ rozmiar ];
void func( char tab[], int rozmiar ) { char * pt; pt = tab; }
int main() { const int rozmiar = 20; char tab[ rozmiar ]; func( tab, rozmiar ); }
|
|
Piastlis |
» 2015-07-01 10:29:50 Nie ma nic złego.Ale C++ należy do grupy języków bezkontekstowych. Konstrukcje typu "co poeta miał na myśli" są z definicji niedopuszczalne.Jeżeli potrzebujesz tablicy o nieznanej w chwili kompilacji wielkości skorzystaj z New(). |
|
Monika90 |
» 2015-07-01 11:28:48 Jeżeli potrzebujesz tablicy o nieznanej w chwili kompilacji wielkości skorzystaj z New(). |
Nie, nie, nie. Skorzystaj z std::vector<T>, albo z std::unique_ptr<T[]>, ale lepiej z wektora. |
|
notabigthreat |
» 2015-07-01 12:25:59 Na pewno C++ należy do grupy języków bezkontekstowych? |
|
« 1 » 2 |