我需要创建一个指向二维C数组的指针,该数组稍后将作为参数传递给函数。这是我正在尝试的:
int64_t (*results)[numSamples] = malloc(sizeof(int64_t[numSamples])*amountPossible);
我希望得到的结果是一个指向二维数组的指针,该数组实际上类似于
int64_t[amountPossible][numSamples]
,但是在Xcode中使用Analyze时得到警告'malloc'的结果转换为类型的指针
'int64_t [numSamples]',与sizeof操作数类型不兼容
'int64_t [numSamples]'
numSamples将始终是相同的值,但是amountPossible是可变的。有一个更好的方法吗?
最佳答案
这似乎是分析仪中的错误。我发现的不会使分析仪跳闸的唯一排列是破坏语句:
size_t bytes = sizeof(int64_t[numSamples]) * amountPossible;
int64_t (*results)[numSamples] = malloc(bytes);
当然,这不是必需的!
向Apple报告此错误。