Avisynth scipt で使用するフレームのシーケンスを自動生成するこの単純なプログラムを作成しました。
#include <stdio.h>
int main(void) {
const int step = 3;
const int arr[] = {31997, 31998, 32001};
int i, ii = 0;
for(i = 32002; i <= 32121; i += step, (sizeof(arr)/sizeof(int) - 1 ) != ii ? ++ii : ii = 0) {
printf("freezeframe(%d,%d,%d)\n", i, i + step, arr[ii]);
}
return 0;
}
GCC 4.6.2 で MinGW を使用すると、次のエラーが表示されます: 代入の左オペランドとして左辺値が必要です。
この問題は、 ii=0の周りに括弧を使用することで簡単に解決され ます。しかし、なぜそれがエラーになるのかわかりません。代入演算子を最初に評価するべきではありませんか?