XCode iOS运算符新的自定义实现

XCode iOS运算符新的自定义实现,ios,exception,xcode4.2,new-operator,Ios,Exception,Xcode4.2,New Operator,XCode为我的全局运算符新实现发出警告: void *operator new(size_t blocksize); 它说:“运算符new”缺少异常规范“throw(std::bad_alloc)” 但我的实现并不打算抛出任何异常,我宁愿将其声明为 void *operator new(size_t blocksize) throw(); 但是,后一种实现会导致错误: 声明中的异常规范与以前的声明不匹配 所以,问题是:我真的被迫(让XCode编译器冷静下来)将一个自定义的“操作符new”声

XCode为我的全局运算符新实现发出警告:

void *operator new(size_t blocksize);
它说:“运算符new”缺少异常规范“throw(std::bad_alloc)”

但我的实现并不打算抛出任何异常,我宁愿将其声明为

void *operator new(size_t blocksize) throw();
但是,后一种实现会导致错误:

声明中的异常规范与以前的声明不匹配

所以,问题是:我真的被迫(让XCode编译器冷静下来)将一个自定义的“操作符new”声明为throw(std::bad_alloc),即使它不会抛出任何异常

所以,问题是:我真的是被迫(让XCode编译器冷静下来)的吗 将自定义“运算符new”声明为throw(std::bad_alloc),即使 不会抛出任何异常吗

是的,你有:

为了完全控制和可移植性,如果替换其中任何一个签名,则应替换所有签名。但是,数组表单的默认实现只是转发到非数组表单。如果只替换四个非数组表单,则默认数组表单将转发给替换的表单