On Wednesday, 7 February 2018 at 12:10:38 UTC, dekevin wrote:
struct ℚ{ℤ num, den; //cannot call constructors on these, since they require gmp_init, which requires runtime code//Default initialiser disabled, since else num=0,den=0
You can use a different default initializer: ℤ num = 0, den = 1; Thus avoiding the bad denominator.