#include using namespace std; template struct is_prime{ static bool const prim= ( (p % i) && is_prime::prim ); }; template struct is_prime{ static bool const prim = 1; }; template struct Prime_print { Prime_print a; bool const prim = is_prime::prim; void f(){ a.f(); if(prim){ cout << "prime number: " << i << endl; } } }; template <> struct Prime_print<1>{ bool const prim = 0; void f() {} }; int main(){ Prime_print<800> a; a.f(); return 0; }