#define NB -3
#define NM -2
#define NS -1
#define ZO 0
#define PS 1
#define PM 2
#define PB 3
int (*rule)[7] =new int[7][7]{{NB,NB,NM,NM,NS,ZO,ZO},
{NB,NB,NM,NS,NS,ZO,PS},
{NM,NM,NM,NS,ZO,PS,PS},
{NM,NM,NS,ZO,PS,PM,PM},
{NS,NS,ZO,PS,PS,PM,PM},
{NS,ZO,PS,PM,PM,PM,PB},
{ZO,ZO,PM,PM,PM,PB,PB}};
我应该使用以下方法吗?
for(int i=0;i<7;++i)
{
delete[] rule++;
}
或者如果我使用delete[] rule
,似乎很奇怪,因为基础对象是arrray数组,而不是rule
类型的指针数组。
答案 0 :(得分:1)
rule
是一个指向int[7]
类型的指针的数组。
前者用new[]
声明。
因此,您需要使用delete[] rule;
释放内存。