ちょっとリファクタする用事があったので、XSに直で書いているコードを一旦C関数に動かしたわけですが、すると突然動かなくったのです。複数の変数の値をセットするので、IVへのポインタを渡して操作したかったので、こんな感じのコードが



x++

こんな感じになるなぁ、と思ったのね



hoge(&x);

hoge(IV *x) {
*x++
}

で、動かない、動かないとずっと悩んでたのだが、あーた、これ単純にオペレーターの優先順位の問題じゃないですか。うはー!俺ってやっぱりCを知らんなぁ・・・。正解はもちろんこうね:



(*x)++

くそ・・・