The following program compiles under Borland C++. I think it's a bug class foo { public: enum Bar {foofoo, foobar, barbar } ; }; void main(){ if ( !foo::Bar()) { } }