我正在尝试使用以下代码,但无法完成。
任何人都可以看到问题吗?
class IResourceJob
{
public:
virtual ~IResourceJob() {}
virtual void execute() = 0;
};
template<typename T>
class ResourceJob : public IResourceJob
{
public:
void execute()
{
static_assert(false, "Specialised ResourceJob<T> not defined!");
}
};
template<>
class ResourceJob<int>
{
public:
void execute()
{
// test.
}
};
以下用法会产生编译错误:
IResourceJob* job = new ResourceJob<int>;
谢谢!