0

NSData ファイルにメソッドが 1 つあります。

 - (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 に答える