【发布时间】:2016-07-14 18:05:42
【问题描述】:
这个函数是我写的
template <typename T>
double norm(const T & v, const int p) {
return v.template lpNorm<p>();
}
但它不起作用并给出错误:
error: 'p' is not a constant expression
return v.template lpNorm<p>();
^
我似乎认为编译器希望在编译时知道p,而我的p 是动态的。
可能相关:
Why is this not a constant expression?
Non-type template argument is not a constant expression
我该如何解决这个问题?
【问题讨论】:
-
模板在编译时解析...