【发布时间】:2016-01-07 23:45:32
【问题描述】:
我想编译这些行。插入以映射一对 std::arrays。
#include<iostream>
#include<map>
#include<array>
#include<utility>
using namespace std;
int main()
{
array<double, 8> l;
array<double, 8> r;
map<double, pair<array<double, 8>, array<double, 8>>> m;
pair<array<double, 8>, array<double, 8>> p;
p = make_pair(l, r);//ok
m.insert(1., make_pair(l, r));//not ok
return 0;
}
//clear && g++ getMinPosition.cpp -std=c++11 -o getMinPosition && ./getMinPosition
【问题讨论】:
-
请始终包含错误文本。另外,试过 emplace 吗?
-
您应该检查您调用的函数的文档:en.cppreference.com/w/cpp/container/map/insert - 没有版本将 key_type 和 mapped_type 作为单独的函数参数。请参阅 en.cppreference.com/w/cpp/container/map 以了解 value_type 是什么。
标签: c++ c++11 stdmap std-pair stdarray