不兼容的指针类型'uint8_t *'发送到'uint8_t **' - 如何修复?

时间:2013-11-11 14:24:30

标签: ios objective-c buffer nsstream nsinputstream

我收到了警告

  

不兼容的ponter类型'uint8_t *'发送到'uint8_t **'

在NSStream类

中的下面方法中将值传递给参数'buffer'时
- (BOOL)getBuffer:(uint8_t **)buffer length:(NSUInteger *)len;

以下是我正在使用的代码。 'fileStream'是'NSInputStream'即时对象

    uint8_t oneByte;
[fileStream read: &oneByte maxLength: 1];
NSUInteger* remaining = 0;
[fileStream getBuffer: &oneByte length:remaining];

1 个答案:

答案 0 :(得分:2)

从签名中可以看出,该方法不希望您为缓冲区分配空间,或者传递长度:它将返回指向现有缓冲区的指针,并将该缓冲区的长度设置为{{1}你传递的指针,如下所示:

NSUInteger