我将尝试用一个简单的例子来解释我的问题:
class UselessClass {};
template<class RUNNABLE>
class Task : public RUNNABLE
{
public:
static void StartScheduler()
{
//Start system scheduler
}
};
主.cpp
Task<UselessClass>::StartScheduler(); //Correct
//Task::StartScheduler(); //Wrong
我想做的是编写以下代码:Task::StartScheduler();
你不能。模板不是一个类,如果不提供模板参数,就无法调用它,以便编译器知道要从中调用方法的确切类型。
当您尝试使用Task::StartScheduler();
时,编译器无法知道RUNNABLE
模板参数的类型。
你可以做这样的事情:
using UselessTask = Task<UselessClass>;
UselessTask::StartScheduler();
虽然这不是你想要的,