相关疑难解决方法(0)

无法推断模板参数

我试图用std::transform两个相等大小的向量合并成一对向量.

int main()
{
    vector<string> names;
    // fill it with names    
    vector<int> nums;
    // fill it with numbers

    typedef pair<int,string> Pair_t;
    vector<Pair_t> pv;

    transform(nums.begin(), nums.end(),
              names.begin(), back_inserter(pv),
              make_pair<int,string>);
}
Run Code Online (Sandbox Code Playgroud)

VC10给了我:

'_OutIt std::transform(_InIt1,_InIt1,_InIt2,_OutIt,_Fn2)' : could not deduce template argument for '_OutIt' from 'std::back_insert_iterator<_Container>'
          with
          [
              _Container=std::vector<Pair_t>
          ]
Run Code Online (Sandbox Code Playgroud)

那么为什么不能推导出模板参数呢?我该如何解决?

c++ templates

1
推荐指数
1
解决办法
293
查看次数

标签 统计

c++ ×1

templates ×1