【发布时间】:2016-03-06 15:40:34
【问题描述】:
示例如下:
template <int n>
class A { };
class B {
public:
int foo() {
return a.n; // error
}
private:
A<10> a;
};
我想在类B中获取实例化类A<10>的非类型模板参数的值,而不是模板A本身,有没有办法做到这一点?或者我应该使用其他一些设计来避免这个问题?
【问题讨论】:
-
@πάνταῥεῖ 但是
B是一个没有名为n的成员的普通类。 -
您声明了
A<10> a,10 是编译时常量。因此,如果它是一个常数,为什么不在foo中硬编码数字 10?