Я пытаюсь создать класс шаблона, который принимает в качестве параметров шаблона тип возвращаемого значения и параметры функции, например: new static_detour<int(const char*, int)>()
Так как это тот же синтаксис, который мы видим в шаблоне функции std, я попытался скопировать ту же структуру, что и в function.h
, так что это мой класс:
template<typename Result, typename ... Arguments>
class static_detour<Result(Arguments...)>
{
}
Однако это не работает, и когда я пытаюсь использовать этот файл из файла .cpp, компилятор выдает error C2988: unrecognizable template declaration/definition
. Например, я удаляю <> после имени класса, которое хорошо компилируется, но тогда я не могу использовать параметр Arguments
.
Возможно ли это в C ++ или я что-то не так делаю?