ちょっとリファクタする用事があったので、XSに直で書いているコードを一旦C関数に動かしたわけですが、すると突然動かなくったのです。複数の変数の値をセットするので、IVへのポインタを渡して操作したかったので、こんな感じのコードが
x++
こんな感じになるなぁ、と思ったのね
hoge(&x);
hoge(IV *x) {
*x++
}
で、動かない、動かないとずっと悩んでたのだが、あーた、これ単純にオペレーターの優先順位の問題じゃないですか。うはー!俺ってやっぱりCを知らんなぁ・・・。正解はもちろんこうね:
(*x)++
くそ・・・
コメント