我尝试在 C++ 的元编程技术中实现有点智能的 Pair 类。我希望我的类可以包含不同的类型和常量。就像下面的代码:
template <typename F, typename S>
struct Pair {
typedef F first;
typedef S second;
};
template <typename F, bool Cond>
struct Pair {
typedef F first;
static const bool second = Cond;
};
但是这段代码会导致 gcc 4.8.1 上的编译错误
error: template parameter ‘class S’
template <typename F, typename S>
^
error: redeclared here as ‘bool Cond’
有没有办法通过 const 模板参数重载结构?