以 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/