根据标准,这应该编译:
struct Y {};
template<const Y& y> struct Z {};
int main(){
Y y;
Z<y> z; // ok: no conversion and cv-qualification conversion
}
(它来自 - http://en.cppreference.com/w/cpp/language/template_parameters)。
但是,它没有,给出了这个错误:错误:'y'的值在常量表达式中不可用
我错过了什么?