为什么在第二行的decltype(* beg)之前不要使用typename
关键字。
是否需要在typename
之前加入remove_reference<decltype(*beg)>::type
?
他们为什么不同?
谢谢!
template <typename It>
auto fcn(It beg, It end) -> decltype(*beg)
{
return *beg;
}
template <typename It>
auto fcn2(It beg, It end) -> typename remove_reference<decltype(*beg)>::type
{
return *beg;
}