【发布时间】:2012-05-13 08:23:27
【问题描述】:
我有这样的代码:
template<int N, typename T>
class XYZ {
public:
enum { value = N };
//...
}
有没有办法以某种方式限制 N?具体来说,我只想在 N 除以某个数字(例如 6)时才允许编译。 所以事实证明它不仅仅是一个类型限制。 首选方法是在没有 Boost 的情况下执行此操作。
【问题讨论】:
-
仅供参考,Boost.MPL 已经包含 100% 的此类所需逻辑,因此您编写的任何代码都只是(可能很差)重复。
标签: c++ templates int restrictions