C++自体の話とはずれるかも知れませんが、ちょっとしたプログラムを書いて

1. VC++(ver6)
2. g++(2.96, Kondara MNU/Linux 2.0)
3. g++(cygwin2.95.3-5, WIN2K)

でコンパイルしたのですが、1,2ではコンパイルが通って(警告もなし)
3ではどばっとエラーが出ます。エラーの内容は最初に

class my_itr : public iterator<bidirectional_iterator_tag, my_type>{

と書いた行で parse error before `<' と出た以後、
何かがずれたようにsyntax errorやundeclaredといったエラーが延々と出ます。
こんな経験のある方いませんか?
cygwinメインで書いてるのでホトホト困ってます。