Неизвестное имя типа «класс»; Вы имели в виду «класс»? AurioTouch - PullRequest
6 голосов
/ 23 февраля 2012

Я пытаюсь переместить код из проекта 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 Ответ

8 голосов
/ 23 февраля 2012

Для смешивания C ++ и Objective-C вам нужно использовать расширение .mm . Однако, если ваш класс только C ++ (и включает только заголовки C / C ++), тогда вы можете использовать обычное расширение .cpp.

.mm
Исходный файл с этим расширением может содержать код C ++ в дополнение к коду Objective-C и C. Это расширение должно использоваться только в том случае, если вы действительно ссылаетесь на классы C ++ или ваш код Objective-C.

...