Я забываю синтаксис в этот момент. Кто-то может помочь? В основном ниже - это то, что я пытаюсь сделать. Я не возражаю, чтобы установить его для принятия двух аргументов шаблона, если это необходимо, значение runSchedule<SchedT, TaskT>()
, если это проще. Также, если вы могли бы прокомментировать, как получить псевдоним использования для работы scheduler_type
и scheduler_type::task_type
, которые будут распознаваться как типы внутри функции.Передача класса шаблона функции шаблона
#include <iostream>
class TestTask {
public:
int x;
};
template <typename TaskT>
class TestScheduler {
public:
typedef TaskT task_type;
int y;
};
template <template<class> class SchedT>
void runSchedule() {
typedef SchedT scheduler_type;
scheduler_type sched;
scheduler_type::task_type task;
}
int main() {
runSchedule<TestScheduler<TestTask> >();
}
спасибо, я исправил typedef, я быстро набрал его. Это именно то, что я хотел, я не думал, что мне нужен шаблон шаблона в этом случае. Я думаю, что большой думаю, что я отсутствовал, это префикс typename. Я соглашусь, что однажды истекает срок для ответов – bjackfly