编译的Objective-C++,我得到以下诊断:C++类“不能ARC和非ARC代码之间共享......”
'MyClass' cannot be shared between ARC and non-ARC code; add a non-trivial copy assignment operator to make it ABI-compatible
类似的错误来弥补丢失的拷贝构造函数和析构函数。添加必要的方法非常简单,但通常它们没有意义,特别是对于我想使其不可复制的类,并且我不会混合使用ARC和非ARC代码(至少不是有意的)。
为什么我得到这个消息,我可以摆脱它,而无需编写毫无意义的成员函数我所有的C++类?
不正确。 ARC不允许* C structs *中的Objective-C对象。但是,它们被允许在* C++结构体和类*中。 – newacct
@newacct在[苹果公司的非荚文件]测试(http://www.opensource.apple.com/source/clang/clang-318.0.45/src/tools/clang/test/SemaObjCXX/arc-non-pod .mm)乞求不同。他们明确提到C++结构和类,并提供应该出现的 – CodaFi
你说必要的警告“ARC禁止在结构和C++类的Objective-C对象”,这是错误的。非POD结构和类肯定可以包含没有警告的Objective-C对象。 – newacct