私はmemcpy関数を使いました。私はそれを下に貼り付けた。誰かがそれを説明するのを助けてくれますか?私はなぜ(void *)ののか分からない。バッファは、構造体BLK内のバッファです。ありがとう。memcpy疑問。明確化が必要
memcpy(
(void *) (BLK->buffer + left),
(void *) input,
fill
);
私はmemcpy関数を使いました。私はそれを下に貼り付けた。誰かがそれを説明するのを助けてくれますか?私はなぜ(void *)ののか分からない。バッファは、構造体BLK内のバッファです。ありがとう。memcpy疑問。明確化が必要
memcpy(
(void *) (BLK->buffer + left),
(void *) input,
fill
);
キャストの必要はinput
とBLK->buffer
はすでに(彼らは本当にする必要があります)ポインタ型であると仮定すると、ありません。
私は、彼らがそこにいる理由は二つの理由を考えることができます。
void *memcpy(void *dest, const void *src, size_t n);
*著者からボイドへのオブジェクトポインタをキャストし、コンパイラはCで
:-)その仕事をして、エラーをしないということは非常に確かになりたいと思ったかもしれません必要です。 関数へのポインタは別のものです。
もしそれらがポインタでないなら、あなたは間違いなく何か間違いをしているでしょう。この場合、キャストは問題を隠します。 –
追加の箇条書き:著者はC++、Microsoft、および/またはHerb Schildtに混乱しました。 – wildplasser
ありがとうございます。 –