首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vector<double>正在转换为vector<double,allocator<double>>

vector<double>正在转换为vector<double,allocator<double>>
EN

Stack Overflow用户
提问于 2013-03-17 10:55:22
回答 1查看 1.4K关注 0票数 0

我正在创建一个双倍向量,然后尝试将其添加到我定义的对象中。问题是,我的vector<double>正以某种方式被转换为vector<double, allocator<double>>。有人知道为什么吗?

代码语言:javascript
复制
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;

double stringToDouble( const std::string& s )
{
  std::istringstream i(s);
  double x;
  if (!(i >> x))
    return 0;
  return x;
}

int main() {
    ifstream userDefine("userDefine.csv");
    string token, line;
    stringstream iss;
    int count = 0;
    vector<double> prices;

    while ( getline(userDefine, line) )
    {
        iss << line;
        while ( getline(iss, token, ',') )
        {
             double temp = stringToDouble(token);
             prices.push_back(temp);
        }
    }
    return 0;
}

然后,当添加到我的对象时,我会得到以下错误:

没有调用generatorTemplate::generatorTemplate(std::string&, std::vector<double, std::allocator<double> >&......的匹配函数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-17 10:58:28

std::vector<T>实际上是template < class T, class Alloc = allocator > class vector;。如您所见,它有一个带有默认值的分配器类型参数。你所观察到的一切是意料之中的。这没什么不好的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15459971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档