我不确定在使用malloc
. 我来自Objective C,其中以下内容完全合法:
ALuint * sources;
sources=malloc(sizeof(ALuint)*32);
但是,在 C++ 中,编译器会说“从不兼容的类型 void * 分配给 ALuint *”。
我知道从返回的内存malloc
不是我的特定类型,而且我知道 C++ 对类型很严格。
现在,我可以这样做:
sources=(ALuint*)malloc(sizeof(ALuint)*32);
但是我读过比我更聪明的编码员说永远不要以这种方式投射。为什么不?如果不是,那么何时或如何是进行这项工作的最佳时间或方法?