Ĺadny brzuch
dlaczego wykonując taki np. kod:
void* a=(void*)1; a+=1;
Kompilator zgłasza błąd 'void*: unknown size'?
dlaczego wykonując taki np. kod:
void* a=(void*)1; a+=1;
Kompilator zgłasza błąd 'void*: unknown size'?
Wskaźnik przekazuje adres pamięci, a ty róbujesz rzutować to na (void*). Tak mi się przynajmniej zdaje :rolleyes: jak nie to mnie nie zabijać :P
Użytkownik ryjcio edytował ten post 28 kwiecień 2005, 15:08
A mi sie jednak wydaje, ze na wskazniku void* nie mozna wykonywac operacji arytmetycznych.
acha, to pewnie dlatego, że zwykłe wskaźniki jeśli są dodawane to ta wartość jest mnożona jeszcze przez ich rozmiar, a w przypadku void nie ma takiego. ale czy nie istnieje jakiś sposób, aby zwiększyc wskaźnik do void?
A mi sie jednak wydaje, ze na wskazniku void* nie mozna wykonywac operacji arytmetycznych.
qwas ma rację
Jeżeli zwiększasz wskaźnik o 1, to przesuwasz go o 1*rozmiar_zmiennej_takiego_typu_jak_wskaźnik bajtów w pamięci. A gdzie masz wielkość typu void ? Właśnie dlatego błąd Unknown size (nieznany rozmiar)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
void* a=(void*)1; a+=1;
Kompilator zgłasza błąd 'void*: unknown size'?
dlaczego wykonując taki np. kod:
void* a=(void*)1; a+=1;
Kompilator zgłasza błąd 'void*: unknown size'?

Wskaźnik przekazuje adres pamięci, a ty róbujesz rzutować to na (void*). Tak mi się przynajmniej zdaje :rolleyes: jak nie to mnie nie zabijać :P
Użytkownik ryjcio edytował ten post 28 kwiecień 2005, 15:08
A mi sie jednak wydaje, ze na wskazniku void* nie mozna wykonywac operacji arytmetycznych.
acha, to pewnie dlatego, że zwykłe wskaźniki jeśli są dodawane to ta wartość jest mnożona jeszcze przez ich rozmiar, a w przypadku void nie ma takiego. ale czy nie istnieje jakiś sposób, aby zwiększyc wskaźnik do void?
A mi sie jednak wydaje, ze na wskazniku void* nie mozna wykonywac operacji arytmetycznych.

qwas ma rację
Jeżeli zwiększasz wskaźnik o 1, to przesuwasz go o 1*rozmiar_zmiennej_takiego_typu_jak_wskaźnik bajtów w pamięci. A gdzie masz wielkość typu void ? Właśnie dlatego błąd Unknown size (nieznany rozmiar)