'class' : invalid expression as a template argument for 'argument'
When using /Za, the compiler will not convert an integral to a pointer.
template<typename T, T *pT> class X2 { }; void f2() { X2<int, 0> x21; // Fails with /Za // X2<int, static_cast<int *>(0)> x22; // Works with /Za } void main(){}