>>563
ああ、そっか#line使えば良いんだな
あとは__LINE__との比較でいける。
まぁ、その後の__LINE__がめちゃくちゃになるから、
この定義だけ別ファイルとかにしないと迷惑だけど…

// 1要素毎1行
#line 0
enum E{
  E_A,
  E_B,
  E_C,
  E_MAX
};
#if __LINE__ > 258
#error "E_MAX >= 256"
#endif