我有这个宣言.
- (BOOL)getNHPData:(REMOTE_MESS_ID)msgId withEvent:(RSEvent*&)pEvent;
Run Code Online (Sandbox Code Playgroud)
我RSEvent**也试过,但我得到这个错误2次
Expected ')' before RSEvent
Run Code Online (Sandbox Code Playgroud)
为什么会如此.
Objective-C是C语言的超集,没有引用.如果要在Objective-C中使用C++样式引用,则必须编译为Objective-C++(正如您所料,Objective-C++是C++的超集).使用.mm扩展自动在Xcode中使用Objective-C++.
如果有问题的方法是将从Objective-C中使用的公共API,我强烈建议使用指向指针(RSEvent**)而不是指针引用.在头文件中使用Objective-C++使用Objective-C++"感染"客户端(除非你非常小心).Objective-C++需要花费更长的时间来编译Objective-C,并且最终会遇到不可避免的C与C++不兼容问题.标准做法是尽可能地从公共API中隐藏Objective-C++.
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |