通知
すべてクリア
Topic starter
2002年6月24日 7:09 PM
初めまして。
一般的な演算式で
A += B → A = A + B ですよね?
でも、もしAがvoid* Aの場合、コンパイルエラーが発生します。
本来はキャストすれば済む問題だと思うのですが
今回使用するものがAを1バイトのChar型で計算しなくてはなりません。
A = (char*)A + B でコンパイルは通るのですが
明らかに左辺がポインタでないので、中身が異常です。
どうすれば、上の演算式が成り立つのでしょうか?
2002年6月24日 8:06 PM
> でも、もしAがvoid* Aの場合、コンパイルエラーが発生します。
void *に対して行える演算は比較とキャスト,否定のみです。
> 今回使用するものがAを1バイトのChar型で計算しなくてはなりません。
なら,void *ではなくchar *やunsigned char *で処理すればよいのでは?
> 明らかに左辺がポインタでないので、中身が異常です。
どの式における左辺でしょうか。