Re: c++/cli managed function type deduction
От: rg45 СССР  
Дата: 18.02.20 07:56
Оценка: 6 (1)
Здравствуйте, 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...)>
{};
--
Не можешь достичь желаемого — пожелай достигнутого.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.