我对我的 C++ 和我曾经拥有的一点 STL 知识非常生疏。我特别难以阅读生成的大量错误消息。
鉴于:
typedef map<string,int>layerType;
typedef vector<layerType> aggregateLayersType;
有什么问题:
bool LayerManager::use_layers(aggregateLayersType& layers)
{
int layerVal = layers[0]["ts"];
}
错误是:
> No viable overloaded operator[] for type
> 'std::__debug::map<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, int, std::less<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > >,
> std::allocator<std::pair<const std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >, int> > >'
我敢肯定,一旦有人指出显而易见的事情,事情就会变得简单。