Если возможно, я хотел бы иметь функцию в классе, которая возвращает шаблонный шаблон, где значение класса и значения шаблона шаблона являются параметрами шаблона. Например,Тип возвращаемого типа типа и типа для функции-члена
class AClass
{
public:
template<typename ClassType, typename ClassTemplateType>
ClassType<ClassTemplateType>* TestFunction() { return NULL; }
};
Однако, если бы я сделать что-то вроде этого я получаю ошибки, такие как
ошибка C2988: неузнаваемый шаблон декларации/определения
ошибка C2059: синтаксическая ошибка: '<'
ошибка C2143: синтаксическая ошибка: отсутствует ';' до '}'
ошибка C2238: неожиданный токен (ы), предшествующий ';'
Возможно ли сделать что-то, что я предоставил, и если да, то как? Если это не так, почему нет и есть что-то еще, что можно было бы предложить?
Почему это класс 'ClassType' и не' шаблон ClassType'? – judeclarke
@judeclarke синтаксис: 'template [class или typename] [имя шаблона]>', который является 'template ClassType>' в нашем случае. –
Не верно - для аргументов типа шаблона можно использовать либо 'class', либо' typename', но для аргументов шаблона шаблона допускается только 'class'. – ildjarn