Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Objective-C+中的2D数组声明+;错误_C++_Ios_Objective C - Fatal编程技术网

C++ Objective-C+中的2D数组声明+;错误

C++ Objective-C+中的2D数组声明+;错误,c++,ios,objective-c,C++,Ios,Objective C,我正在用最新的SDK开发一个iOS应用程序 我想在Objective-C++中创建一个int[][],但我不知道怎么做: 这是一段MyClass.mm: static const int MAX_NUM_DETECTIONS = 10; static const int PATCH_SIZE = 100; @interface MyClass () { int[MAX_NUM_DETECTIONS][PATCH_SIZE*PATCH_SIZE] _results; } @end 这

我正在用最新的SDK开发一个iOS应用程序

我想在Objective-C++中创建一个
int[][]
,但我不知道怎么做:

这是一段
MyClass.mm

static const int MAX_NUM_DETECTIONS = 10;
static const int PATCH_SIZE = 100;

@interface MyClass ()
{
    int[MAX_NUM_DETECTIONS][PATCH_SIZE*PATCH_SIZE] _results;
}

@end
这行代码会产生以下两个错误:

应为成员名或“;”在声明说明符之后。
期望“;”在申报表末尾

我在
字符下得到错误

如何声明和初始化该2D数组?您需要

int _results[MAX_NUM_DETECTIONS][PATCH_SIZE*PATCH_SIZE] ;

您需要将
[]
括号放在变量名之后:

例如:


声明2d数组的正确方法是在变量名后面放两个方括号,所以在您的例子中应该是

int  _results[MAX_NUM_DETECTIONS][PATCH_SIZE*PATCH_SIZE];

据我所知,Objective-C++
必须是*.mm
文件
而不是*.m
@rokimoki他可能会覆盖该
.m
文件以编译为Objective-C++。可能,但他可能不知道这些信息,这就是我只发表评论的原因。那么,这个变量是初始化的还是我必须做其他事情?如果你知道C/C++,这是相同的方式,但数组只是声明的,而不是初始化的。
int  _results[MAX_NUM_DETECTIONS][PATCH_SIZE*PATCH_SIZE];