У меня есть объявление класса в стиле c:
#pragma once
class CSound
{
private:
NSInteger bufferID;
public:
CSound(const char* fileName);
~CSound();
static void init();
void play();
};
Компилятор говорит NSInteger не называет тип .
Если я поставлю «NSInteger bufferID;» в файле .mm (не в .h) это работает. Что я делаю не так?
EDIT
Поскольку у меня все еще нет решения, я сделал быстрое грязное-уродливое исправление:
в файле .h, в определении класса
void* pBufferID;
и в файле .mm
// constructor
pBufferID = new NSUInteger;
// destructor
delete (NSUInteger*)pBufferID;
// everywhere I use it
*((NSUInteger*)pBufferID)