Rom*_* M. 5 memory-management objective-c undefined garbage ios
我已经发布了我的错误代码的屏幕截图。

heights 输出

请有人可以帮助我吗?
分析仪是正确的。_numberOfColumns如果为 0,您的代码将访问垃圾内存,从而为 分配 0 字节heights,从而产生heights[0]垃圾。分析器不知道_numberOfColumns可以有什么值,但您可以使用 来告诉它assert(_numberOfColumns>0)。
以这个C程序为例:
int main(int argc, const char * argv[])
{
int n = argc-1;
int *a = malloc(n*sizeof(int));
for (int i=0; i<n; i++) {
a[i] = i;
}
int foo = a[0];
free(a);
return foo;
}
Run Code Online (Sandbox Code Playgroud)
的大小a由参数的数量决定。如果你没有争论的话n == 0。如果您确定您的程序(或只是程序的那一部分)将始终将大于 0 的值分配给a,则可以使用断言。添加assert(n>0)将准确地告诉分析器这一点。
| 归档时间: |
|
| 查看次数: |
1622 次 |
| 最近记录: |