[英]Trouble with Objective-C++ and Interface Builder
我的視圖控制器類利用了Objective-C ++類。 我發現我必須使用.mm擴展名來命名它,C ++導入/包含才能正常工作。 但是,我使用的是Interface Builder,它不希望將我的視圖控制器作為.mm文件很好地播放。 我得到編譯器分段錯誤。 對於這種用例有什么建議嗎?
首先,正如Akaru在其評論中建議的那樣:重命名導入到.mm(整個鏈)的所有工具文件。
編譯錯誤的另一種可能性:
friend, delete, typeid
是最大的可疑對象;-) 引用自: http : //cs.smu.ca/~porter/csc/ref/cpp_keywords.html :
還有30個不在C中的保留字,因此對於C ++來說是新的 ,它們是:
asm dynamic_cast namespace reinterpret_cast try
bool explicit new static_cast typeid
catch false operator template typename
class friend private this using
const_cast inline public throw virtual
delete mutable protected true wchar_t
2。 C ++編譯器對類型轉換更嚴格(例如:嘗試將NSString分配給id類型時出現錯誤,等等。)如果有必要,請使用技巧來避免這種情況:將NSString變量聲明為id本身解決了問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.