错误在编译以下代码时出现
template <typename Key, typename Value>
class LRU_cache {
using Node = std::pair<Key, Value>;
private:
std::unordered_map<Key, std::list<Node>::iterator> hash_table_;
};
修改方式:在 std::list<Node>前加类型声明typename
原因:有没有觉得class::xxx的写法像是在访问类里的静态成员。
iterator是stl类的嵌套类。
加上typename,让编译器知道你是在声明一个类型而不是访问静态成员