2010-04-26 11 views

risposta

15
ptrdiff_t index = pointer_found - array_name; 
+0

e se gli array sono di tipo nullo, viene visualizzato un avviso di compilazione. quindi non sa come eseguire correttamente la sottrazione. Ho finito per convertire entrambi in (char *), sottraendo, quindi dividendo per la dimensione di un elemento. non sono sicuro che funzioni, anche se – sepiroth

+1

Non esiste una matrice di tipo 'void', ma c'è un puntatore di tipo' void'. – AraK

+1

@hatorade lancia il puntatore al tipo di elementi dell'array. Ad esempio: 'int arr [..]; void * p = & arr [1]; size_t index = (int *) p - arr; ' – AraK

Problemi correlati