我有一些Objective-C代码,我想将其转换为Objective-C ++。要将源文件的扩展名从.m
更改为.mm
,我将文件类型设置为Objective-C++ Source
。但是,现在我的项目无法构建。它在我称之为vm_deallocate
的行上给出错误。
以下是该行:
vm_deallocate(mach_task_self(), (vm_address_t)prevInfo, prevInfo);
确切的错误是:
使用未声明的标识符vm_deallocate
vm_deallocate
是否仅限于Objective-C?是否有等效的Objective-C ++函数?
答案 0 :(得分:4)
不,因为它是c。 这更像是一个标题问题。
确保您已包含在正确的文件中
#include <mach/mach_init.h>
#include <mach/vm_map.h>
它应该编译而不会抱怨。