BUSCAR
INICIO
MAPA
FAQs
UTILIDADES
GLOSARIO
REGISTRO
COLABORAR
QUIENES SOMOS

USUARIO

PASSWORD

FAQs
6. Punteros

3. Tengo un puntero a carácter (char *) que necesito que apunte a entero en algunas ocasiones, y necesito incrementarlo.¿Por qué no hace?
         ((int *)p)++;

En C++, un operador de casting no significa "imagina que estos bits tienen un tipo diferente y tratalos de acuerdo a este nuevo tipo ".

Es un operador de conversión, y por definición esto devuelve un valor, que no puede ser asignado o incrementado con ++.
Para implementar lo que tu quieres utiliza:

p = (char *)((int *)p + 1);

o dado que p es un char, simplemente:

p += sizeof(int);

 
Siempre que sea posible, deberías escoger el tipo de puntero apropiado, en lugar de intentar tratarlo como de otro tipo.