2013-01-17 155 views
12

我在練習C++。我只是在XCode中添加C++文件,並在其中寫入一些字符串分割功能。之後,我將C++文件包括在我的AppDelegate文件中,擴展了.mm文件,並從C++類的.h文件中調用函數。但我發現一條紅線的靜態錯誤是'iostream'文件未找到。我使用了最新的XCode 4.5和iOS 6.0。請參閱我的錯誤或xcode屏幕的截圖。 enter image description herexcode 4.5中發現'iostream'文件未找到錯誤?

我試圖根據給定的link信息修改我的代碼,但沒有成功。 :(

我也遵循了這一link信息爲好,但結果是一樣的。

感謝 iHungry有

+0

不要從一個必須在Objective-C中工作的頭文件中包含C#代碼。 (你的問題可能是你在'.m'文件中包含'StringSplit.h') – Mankarse

+0

@Mankarse,對不起,我沒有得到你。我必須在Objective-C類中包含C++類文件。我這樣做,但它會給我帶來額外的錯誤。 – Tirth

+0

如果'StringSplit.h'是Objective-C++(與Objective-C相對),那麼您應該只從'.mm'文件包含它,而不是'.m'文件。 –

回答

10

Objective C.m擴展其執行的文件。如果你想在Objective C使用C++它應該有.mm擴展名,你可以在你的.mm文件中包含C++頭文件,但是如果你想在你的.h文件中包含你的C++頭文件,你需要檢查macro的,像

#ifdef __cplus 
#include <iostream> 
#endif 

但是,我並沒有被包括在.h文件C++頭文件試過的任何功能。希望能幫助到你。

+0

+1 ........ – TheTiger

+1

YOu甚至可以使用C文件,其中包含@AnoopVaidya .C –

+0

,是的,我們可以。但根據我的要求,我必須在C++中執行此類功能。 – Tirth