// Build don't link: template class GCD { public: enum { val = (N == 0) ? M : GCD::val }; }; int main() { GCD< 1, 0 >::val; // ERROR - division }