簡體   English   中英

Objective-C ++中的C ++堆棧

[英]C++ stack in Objective-C++

我想在Objective-C中使用C ++堆棧類型,但是遇到了一些問題。 這是我想做的事的一個樣本:

#import <stack>
#import <UIKit/UIKit.h>

@interface A : NSObject {
    stack<SEL> selectorStack;
}

@end

不幸的是,這不能編譯。 在弄亂了一段時間代碼並嘗試了不同的方法之后,我似乎找不到找到實現此目的的方法。 有人可以告訴我在Objective-C對象中使用C ++堆棧的最佳方法,或者甚至可以嗎?

謝謝。

更新:

好吧,KennyTM的答案適用於我的示例文件,但是由於某些原因,當我嘗試重命名該類時,它退出了工作。 這是我現在擁有的代碼:

#import <stack>
#import <UIKit/UIKit.h>

@interface MenuLayer : NSObject {
    std::stack<SEL> selectorStack;
}

@end

編譯器吐出以下錯誤:

stack: No such file or directory
expected specifier-qualifier-list before 'std'

你有沒有嘗試過

@interface A : NSObject {
    std::stack<SEL> selectorStack;
}

對於第二個問題,請確保您沒有意外重命名以.m而不是.mm結尾的文件。 否則,C ++標頭不在標頭搜索路徑中(當然,您不能使用C ++)。

另外,如果標頭包含在某些普通的Objective-C文件( .m )中,您最終會遇到相同的問題。 您可以通過使用不透明指針來避免這種情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM