Aritmética de punteros cuando el vacío tiene un tamaño desconocido [cerrado]

En Visual Studio C ++ versión 9 (y probablemente otras versiones también), el siguiente código:

int a = sizeof(void);
void const *b = static_cast<void const *>("hello world");
b += 6;

Generaestas errores:

error C2070: 'void': illegal sizeof operand
error C2036: 'const void *' : unknown size

Este código funciona bajo GCC, que tratasizeof(void)&nbsp;como1.

¿Hay alguna forma de evitar esta limitación, como el lanzamiento explícito achar *&nbsp;a los efectos de la aritmética de punteros se suma a la confusión (void *&nbsp;es bien reconocido y se utiliza como un puntero sin tipo a la memoria en bruto).

Actualización0Tenga en cuenta que soy muy consciente de la existencia de la norma.I querer&nbsp;Hacer aritmética de puntero en bruto.tomosizeof(void)&nbsp;para demostrar que soy muy consciente del hecho de que no es1&nbsp;es la causa del problemaEl ejemplo del código es simplemente demostrar lo que se requiere para generar los errores.Sé que esta no es una forma "normal" de usarvoid, pero esto es C, y estas cosas pasan.Sí, la gente necesita hacer esto a bajo nivel. No estoy detrás de por qué, estoy detrás de cómo. Si desea saber por qué, eche un vistazo a alguna fuente del kernel o a su amigable glibc.Update1

Parece que esta pregunta ha generado una gran confusión. La pregunta no es sobrepor qué&nbsp;teniendosizeof(void) == 1&nbsp;No es estándar, pero qué hacer cuando no lo es.

En el caso de que se haga aritmética de punteros de un solo byte, resulta que la conversión achar *&nbsp;es la respuesta correcta, no porque*(void *)&nbsp;no tiene tamaño, sino porque la norma realmente garantiza que*(char *)&nbsp;es siempre1. Por lo tanto el uso dechar *&nbsp;Siempre es correcto, y congruente convoid *&nbsp;con la extensión GCC para los fines de la aritmética de punteros en bruto.

Para reforzar aún más el punto,void *&nbsp;es la opción correcta para los punteros a la memoria sin tipo, ychar *&nbsp;es el tipo correcto para lanzarpara aritmética de puntero en bruto.