編譯的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