我已經寫了很簡單的代碼來看看unordered_pair不能使unordered_map工作
// unordered_map example
#include <iostream>
#include <unordered_map>
int main(){
std::unordered_map<double, double> mymap = {
{5,2.3},
{7,34},
{4,12}
};
std::cout<<":::: unordered_map ::::"<<std::endl;
std::cout<<"5 ->"<<mymap[5]<<std::endl;
std::cout<<"7 ->"<<mymap[7]<<std::endl;
std::cout<<"4 ->"<<mymap[4]<<std::endl;
std::cout<<"Done ! ";
return 0;
}
我收到以下錯誤
unordered_map.cpp:5:37: error: non-aggregate type 'std::unordered_map<double, double>' cannot be initialized with an initializer list
std::unordered_map<double, double> mymap = {
^ ~
1 error generated.
Compilation failed
我工作的OSX和使用geany。在Geany
生成命令是:
g++ -Wall -c "%f"
你需要(至少)'C++ 11': 'g ++ -Wall -c「%f」-std = C++ 11'。 – Holt
嘿,它與此謝謝:)我希望可以有另一種解決方案。有沒有辦法在舊標準中使用關聯容器? –
如果你想要關聯容器,你有['std :: map'](http://en.cppreference.com/w/cpp/container/map)。與'unordered_map'的不同之處在於'map'使元素根據鍵保持不變,因此您對訪問,刪除有不同的複雜度...... – Holt