Ошибка компилятора C3747
отсутствующий параметр типа по умолчанию: параметр param
Универсальные или шаблонные параметры со значениями по умолчанию нельзя следовать в списке параметров параметрами, которые не имеют значений по умолчанию.
Следующий пример приводит к возникновению ошибки C3747:
// C3747.cpp
template <class T1 = int, class T2> // C3747
struct MyStruct {};
Возможное решение
// C3747b.cpp
// compile with: /c
template <class T1, class T2 = int>
struct MyStruct {};