我知道它的老問題,但簡單的解決方案是如何簡單地保留現在轉換爲c應用程序(舊版本)的舊邏輯C++?ISO C++禁止增加類型'void *'的指針,在舊版代碼中轉換爲C++
void *p;
void *response = malloc(60 * 81);
p = response ;
p+=4;
以g ++給出:ISO C++不允許對遞增型 '無效*' 更新的指針:
如果我改變它爲char *即時得到這個錯誤:
char *p;
char *response = malloc(60 * 81);
error: invalid conversion from ‘void*’ to ‘char*’
也char *可以容納其他類型(基本的)像short,int,bool? 這就是爲什麼在這個遺留代碼中使用,持有羞怯類型,
在那裏4看起來像懷疑的'sizeof(void *)'的近似值,這是一個問題。 – Flexo 2012-07-20 13:29:26