Я хочу передать частичную специализацию шаблона параметру шаблона, но получаю ошибку. Я не уверен, почему именно эта последняя работа.
template<template<typename, int> class V, typename T, int N, int... Indexes>
class Swizzle
{
// ...
};
template<typename T, int N>
struct Vector;
template<typename T>
struct Vector<T, 3>
{
// ...
union
{
// ...
Swizzle<Vector, T, 3, 0, 0, 0> xxx;
};
};
Ошибка:
«Вектор»: недопустимый аргумент шаблона для параметра шаблона «V», ожидается шаблон класса «Swizzle» : использование шаблона класса требует списка аргументов шаблона
Проблема появляется только на MSV C