0

我在 NSData 文件中有一种方法。

 - (void)getBytes:(void *)buffer;

但是当我使用这种方法时,就像..

  const uint8_t bytes [kStreamChunkSize];
  [chunk getBytes:&bytes];

然后它给出这个错误

将“const uint8_t (*)[kStreamChunkSize]”发送到“void *”类型的参数会丢弃限定符

如何解决这个错误。请帮我。

4

1 回答 1

0

它丢弃了const限定符,这是一个问题。getBytes:通过将字节写入传入的数组来获取字节。但是,您不能写入const字节数组(这样做会调用未定义的行为),这就是const意思。将数组的声明更改为

uint8_t bytes[kStreamChunkSize];

此外,不要将指针传递给数组 - 如果您只是使用它的名称而不使用&运算符,它无论如何都会衰减为指向其第一个元素的指针。

于 2013-06-07T11:24:15.767 回答