次のコードがあります。'void *'から 'unsigned char *'への無効な変換
void* buffer = operator new(100);
unsigned char* etherhead = buffer;
コンパイル時に次のエラーが発生します。
error: invalid conversion from ‘void*’ to ‘unsigned char*’
私はエラーが出るのはなぜ、私はそれが何を指し示すことができ、または何かがそれを指し示すことができるようにボイドは「タイプレス」だと思いましたか?
ああ、10バイトのcharまたは10バイトのintが10バイトの長さであり、alloted 10バイトの値に関係なく、後で使用するためにXバイトをメモリに割り当てることはできます。これは間違っていますか? – jwbensley
メモリを再利用したいという魅力的な理由はありますか?そうでない場合は、プログラムを不必要に複雑にします。 – Philipp