【发布时间】:2021-04-04 02:29:35
【问题描述】:
如果我们有一个枚举类型:
enum E {
E1,
E2,
// ...
};
并基于E,一个类模板:
template <E T>
class C { /* ... */ };
有没有办法将E 类型的已声明变量用作模板参数?
示例代码:
E example_type = E1;
C<example_type> example_class;
【问题讨论】:
-
也许this 回答了您的问题?它使用函数参数而不是局部/全局变量。
-
如果变量是
constexpr,是的。 -
您能澄清一下您的示例代码吗?目前还不清楚你想要什么,你使用
C没有意义 -
有什么理由不使用
C<E1>? -
取决于一个字符串,我需要返回一个枚举类型。我想在另一种方法中直接使用该类型。
标签: c++ class c++11 templates enums