【发布时间】:2021-09-12 05:45:51
【问题描述】:
在模板函数中使用 decltype 时出现编译器错误。示例非常不言自明。帮忙?
template<class T>
void foo(T&& m)
{
auto t = (decltype(m)::value_type::second_type::value_type*)3; // compiler error
}
int main()
{
unordered_map<int, map<float, double>> m;
foo(m);
auto t = (decltype(m)::value_type::second_type::value_type*)3; // ok, t is a std::pair<const float, double>*
}
【问题讨论】: