Compiler Error C3200


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

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

template' : invalid template argument for template parameter 'parameter', expected a class template

You passed an invalid argument to a class template. The class template expects template as a parameter. In the following example, calling Y<int, int> aY will generate C3200. The first parameter needs to be a template, such as Y<X, int> aY.

// C3200.cpp  
template<typename T>  
class X  
template<template<typename U> class T1, typename T2>  
class Y  
int main()  
   Y<int, int> y;   // C3200