我正在尝试将一些代码从 objective-c 转换为非托管C++
我有这个手术
Buffer* ir =malloc( sizeof( Buffer ) );
错误:表达式必须具有指针类型?
相同的错误进入此代码
ir->buffer = malloc( bufferSize );
您能否在这个不受管理的C++中为我提供
malloc
的正确使用? 最佳答案
malloc()
返回可能导致此问题的void *
。您可以强制返回:
Buffer *ir = (Buffer *)malloc(sizeof(Buffer));
或者,如果您使用的是C++,则应改用
new
:Buffer *ir = new Buffer;
(如果这样做,请不要忘记将
free()
更改为delete
)。关于c++ - 使用malloc导致错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8209356/