We recommend using Visual Studio 2017

Compiler Error C2762


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Compiler Error C2762.

class' : invalid expression as a template argument for 'argument'

When using /Za, the compiler will not convert an integral to a pointer.

The following sample generates C2762:

// C2762.cpp  
// compile with: /Za  
template<typename T, T *pT>  
class X2 {};  
void f2() {  
   X2<int, 0> x21;   // C2762  
   // try the following line instead  
   // X2<int, static_cast<int *>(0)> x22;