У меня возникли проблемы с выяснением, могу ли я использовать шаблонные общие ограничения в C ++ / CLI.Вот пример
template<typename T>
public ref class wrapped
{
public:
T* t;
T doTthing(){return *t;}
};
Вот простой шаблонный управляемый класс, упаковывающий неуправляемый тип T. Я могу использовать этот класс в качестве ограничения для универсального
// works
generic<class genclass> where genclass : wrapped<int>
public ref class testclass3
{
public:
genclass gc;
int test()
{
return gc->doTthing();
}
};
. Это прекрасно работает.Чего я не могу понять, так это как сохранить шаблоны и шаблон, то есть
//Does Not Work!
template<typename T>
generic<class genclass> where genclass : wrapped<T>
public ref class testclass4
{
public:
genclass gc;
T test()
{
return gc->doTthing();
}
};
Возможны ли такие вещи?