未知的类型名称'class';你的意思是'上课'吗? AurioTouch

时间:2012-02-23 15:23:32

标签: c++ objective-c xcode objective-c++

我正在尝试将代码从AurioTouch项目移动到我的项目中。 但我有很多错误:

Unknown type name 'class'; did you mean 'Class'?

例如,在文件FFTBufferManager.h中:

#include <AudioToolbox/AudioToolbox.h>
#include <libkern/OSAtomic.h>

#include "SpectrumAnalysis.h"

class FFTBufferManager
{
public:
    FFTBufferManager(UInt32 inNumberFrames);
    ~FFTBufferManager();

我尝试将编译器更改为LLVM GCC 4.2,但它会产生很多其他错误:

Expected '=', ',', ';', 'asm' or '__attribute__' before 'FFTBufferManager'

我做错了什么?

1 个答案:

答案 0 :(得分:8)

要混合使用C ++和Objective-C,您需要使用.mm extension。但是,如果您的类只是C ++(并且只包含C / C ++标题),那么您可以使用普通的.cpp扩展名。

  

.mm
除了Objective-C和C代码之外,具有此扩展名的源文件还可以包含C ++代码。这个扩展应该   仅当您实际引用C ++类或功能时才使用   你的Objective-C代码。