c++ - Apple 的 SpeakHere 演示,混合了 ObjC 和 C++,以及翻译单元

标签 c++ objective-c ios

以 Apple 的 SpeakHere 演示为起点,我想实现声音波形而不是电平表。我在 GLLevelMeter 旁边添加了另一个 View SoundWaveView,一个 ObjC 类,并在 AQLevelMeter.mm 类上对其实现建模。

发现文件应命名为“.mm”后,代码编译通过,但在执行时,它在 MeterTable 对象上出现 EXC_BAD_ACCESS 崩溃。在调试器中打印此对象会得到以下结果:

error: instance method 'setMeterTable:' has a different number of parameters in different translation units (0 vs. 1)
error: instance method 'setMeterTable:' has a different number of parameters in different translation units (0 vs. 1)
note: instance method 'setMeterTable:' also declared here
note: instance method 'setMeterTable:' also declared here
error: 2 errors parsing expression

现在我怀疑在 AQLevelMeter.mm(Apple)和 SoundWaveView.mm(我的)中包含 MeterTable.h 会导致重复,但是如何在不导入 .h 的情况下从我的类(class)访问 MeterTable??

最佳答案

一定要初始化所有讨厌的指针。或者选择另一种语言以减少后顾之忧(抱歉,我无法抗拒)。

关于c++ - Apple 的 SpeakHere 演示,混合了 ObjC 和 C++,以及翻译单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13722990/

相关文章:

c++ - Debian Stretch 和 Jessie 32 位库

ios - RestKit/核心数据 : Duplicate objects inserted instead of merged when requesting the same URL twice

ios - 不兼容的 block 指针类型用类型表达式初始化 'void(^)(struct ALAssetsGroup *, BOOL *)'

ios - 如何更改 iOS 13 中 tabBar 的框架?

ios - iOS 中的工具提示通过 native UI 控件?

c++ - MySQL C++ 连接器 : SIGABRT Connecting to Database

c++ - 将内容从 C FILE 传输到 C++ 流

c++ - 使用c字符串从多项式c++中提取指数

java - Objective-C 中是否允许嵌套同步块(synchronized block)?

ios - 状态栏不会在 iOS 7 应用程序的放大版本上消失