在Objective-C我有合法的代碼:的Objective-C++塊VS Objective-C的塊
TestTwo.h:
@interface TestTwo : NSObject
-(void)test;
@end
TestTwo.m:
@implementation TestTwo
-(void)test
{
void (^d_block)(void) =
^{
int n;
};
}
@end
我真正想要的是定義類似於test
的方法的Objective-C++類。這是簡化,但說明了意圖。因此,在Objective-C++,我有:
Test.h:
class Test
{
public:
void TestIt();
};
Test.mm:
#include "Test.h"
void Test::TestIt()
{
void (^d_block)(void) =
^{
int n;
};
}
我得到以下錯誤:
error: 'int Test::n' is not a static member of 'class Test'.
如果我刪除int n;
沒有錯誤。如何在此上下文中定義n
?
切換到LLVM編譯器似乎有訣竅。乾杯! – ptoinson