XCode为我的全局运算符new实现发出警告:
void *operator new(size_t blocksize);
它说:'operator new'缺少异常规范'throw(std :: bad_alloc)'
但我的实现并不打算抛出任何异常,我宁愿将其声明为
void *operator new(size_t blocksize) throw();
但是,后一种实现会导致错误:
声明中的异常规范与先前的声明不匹配
所以,问题是:我是否真的被迫(冷静下来XCode编译器)将自定义'operator new'声明为throw(std :: bad_alloc),即使它不会抛出任何异常?
1 回答
是的你是:
http://developer.apple.com/library/mac/#technotes/tn2185/_index.html