Здравствуйте, Caracrist, Вы писали:
C>Вот простой пример дедукции типов, который работает с нейтивом и не работает с дот нетовскими типами:
C>C>template<class T>
C>class C;
C>template<class... Ts>
C>class C<void(Ts...)>
C>{};
C>//...
C>C<void(int, char*)> a; //работает
C>C<void(int, System::String^)> b; // ошибка компиляции, не находит специализации
C>
C>При этом, если дедактить std::tuple<...> то всё работает. Проблема именно с типами: T(...)
C>Кто-то встречал такое явление? Чем лечить?
Здесь нужно явно сказать, что это __clrcall:
template<class... Ts>
class C<void __clrcall(Ts...)>
{};