class X {
public:
	template<int d> 
	int bar () {return d;}
};

template<int x> 
int fooo () 
{
	return x;
}

template<class T>
void bar (T& g)
{
	int kk = fooo<17>();  // OK
	X x;
	int k = x.bar<17>();  // Not OK
}


int main ()
{
	X x;
	int k=x.bar<17>();    // OK
	int n;
	//bar(n);
}
