クラス定義でメソッドをインラインで書くとき
{} の後ろに ; が要らないのはなぜですか?
たとえば
class Hoge {
  int a;
public:
  Hoge() : a(0) {};
  ~Hoge() {};
  void Hage(void);
  void Fuga(void) {a=1;};
};
みたいなとき
class Hoge {
  int a;
public:
  Hoge() : a(0) {}
  ~Hoge() {}
  void Hage(void);
  void Fuga(void) {a=1;}
};
で良いんですよね?
だとすると逆に
  void Hage(void)
で怒られるのも謎