我的YYY.h文件是
#define W 1 // i am
#define B 2 // opponent
#define F 3 // board margin
static int boardPos[12][12];
@interface YYY : NSObject
{...}
-(id)init;
@end
Run Code Online (Sandbox Code Playgroud)
和YYY.m是
#import "YYY.h"
@implementation YYY
-(id)init
{
if (self = [super init]) {
// initializing Empty Board
boardPos[12][12] = {
{F,F,F,F,F,F,F,F,F,F,F,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,F,F,F,F,F,F,F,F,F,F,F}
};
...
Run Code Online (Sandbox Code Playgroud)
我收到错误"在{token in"boardPos [12] [12] = {"string之前的预期表达式.如果我在boardPos之前写了一些内容 - 它变成了局部变量;所以我无法正确初始化这个C数组.我需要boardPos可见在类范围.我试着把它放在类声明中 - 同样的错误.
顺便说一下,我已经在NSArray对象上重写了它,但仍然很有趣如何处理C数组.
谢谢!
我想你应该在.m文件中写这个
static int boardPos[12][12] = {
{F,F,F,F,F,F,F,F,F,F,F,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,0,0,0,0,0,0,0,0,0,0,F},
{F,F,F,F,F,F,F,F,F,F,F,F}
};
Run Code Online (Sandbox Code Playgroud)
并删除static int boardPos [12] [12]; 在.h中,删除.m中的boardPos [12] [12] = {...}.
这将使boardPos仅在此.m文件中可见.
| 归档时间: |
|
| 查看次数: |
2640 次 |
| 最近记录: |