我有一個C語言風格類聲明:如何使用一個NSInteger在一個C語言風格類聲明
#pragma once
class CSound
{
private:
NSInteger bufferID;
public:
CSound(const char* fileName);
~CSound();
static void init();
void play();
};
編譯器說:NSInteger的沒有指定類型。
如果我把「NSInteger bufferID;」在.mm文件中(不在.h中)它可以工作。我究竟做錯了什麼?
編輯
正如我至今還沒有解決,我做了一個快速骯髒醜陋的修復:
在.h文件中,在類定義
void* pBufferID;
和.mm文件
// constructor
pBufferID = new NSUInteger;
// destructor
delete (NSUInteger*)pBufferID;
// everywhere I use it
*((NSUInteger*)pBufferID)
'int'?也許我誤解了。 :p – Kjuly
C不知道類。這是C++。你有沒有導入基金會的標題? – vikingosegundo
我不能導入他們沒有得到大量的錯誤,如「NSObjCRuntime.h:在'@'令牌之前期望的非限定id我仍然不明白爲什麼我不能在.h文件中使用它 –