template class foo { public: enum bar { z = 0 }; }; template class foo { public: enum bar { z = 1 }; }; template class foo { public: enum bar { z = 2 }; }; int main() { if ((foo::z == 0) && (foo::z == 1) && (foo::z == 2)) return 0; else return 1; }