首页 > 解决方案 > 传递 lvlaue 时,decltype 不会产生 lvlaue 引用

问题描述

在 C++ 入门和许多书籍中,当将decltype类型说明符应用于 an 的表达式时,lvalue推断的类型是左值引用,与右值引用相同。所以:

int i = 5; // non-cv qualified lvlaue
decltype (i) j; // i is an lvlaue between parenthesis so why the inferred type is not an lvlaue reference?

decltype ((i)) k; // error: reference not bound

标签: c++decltypevalue-categories

解决方案


推荐阅读