我需要创建一个指向二维C数组的指针,该数组将作为参数传递给稍后的函数。这就是我正在尝试的:
int64_t (*results)[numSamples] = malloc(sizeof(int64_t[numSamples])*amountPossible);
我希望的结果是一个指向二维数组的指针,这将有效地像int64_t[amountPossible][numSamples]
一样,但在Xcode中使用分析,我得到警告
malloc的结果被转换为类型的指针'int64_t[numSamples]',它与sizeof操作数类型不兼容int64_t [numSamples] '
numSamples将总是相同的值,但amountPossible是可变的。有更好的方法吗?
这似乎是分析器中的一个错误。我发现的唯一不会绊倒分析器的排列是将语句分解:
size_t bytes = sizeof(int64_t[numSamples]) * amountPossible;
int64_t (*results)[numSamples] = malloc(bytes);
这当然不是必需的!
向苹果报告错误