【发布时间】:2012-03-28 07:16:06
【问题描述】:
原来我最初想要的可能在不涉及 C++11 的情况下是不可能的,我想稍微改变一下要求,问你是否可以实现。
基本上,如果一个类从“接口”继承,我想检查编译时间。接口是指仅具有纯虚拟方法的类。 我想做以下代码:
template <typename T>
class Impl : public T {
public:
STATIC_ASSERT_INTERFACE(T);
};
这里的行为是,如果 T 只有纯虚方法,那么它将编译,如果其中一个方法没有,则失败。
谁能想到这样的事情?
【问题讨论】:
-
真的所有方法都是纯虚拟的吗?甚至是析构函数?
-
大概你想检查
T是否也有基类,如果有,它们是否也是“接口”。但答案确实是“不”。
标签: c++ compilation