|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 5944
|
[C] Aritmetica puntatori a void
Ciao a tutti,
ho una domanda sui puntatori void. Ovviamente non è possibile fare aritmetica dei puntatori sui void, o almeno non in modalità standard. Io ho una funzione del genere: ( pseudocodice) Codice:
for ( i..) funzione( &buffer[i]); Ora, ovviamente così non funziona in quanto mi dà il warning sull'aritmetica fatta sui puntatori void. Quindi al momento ho risolto facendo vari if e castando il puntatore void al tipo corrispondente, ad esempio: Codice:
gint32* punt_tmp; if( tipo== gint32) punt_tmp = (gint32*)buffer; gpointer void_tmp; for(i..) void_tmp = &punt_tmp[i]; funzione( &void_tmp[i]); ![]() Ultima modifica di Unrue : 25-03-2010 alle 09:43. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
beh di solito si usa char*, byte* o quello che è e si usa naturalmente come una sequenza di bytes con l'aiuto di sizeof... però se ti serve proprio un oggetto di quel tipo non ha senso, tanto vale fare come fai te.
|
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Dec 2007
Messaggi: 284
|
Quote:
Non è che puoi castare a caso ![]() c'è tonnaso ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:22.