¿Alguien puede explicarme por qué la primera plantilla de metaprogramación va a un ciclo infinito, pero la segunda se ejecuta correctamente? #include <iostream> using namespace std; template<int N, int M> struct commondivs { static const int val = (N<M) ?