C ++ - 转换std :: basic_string <char> </char>

时间:2013-11-15 12:35:57

标签: c++ string type-conversion

支持自己! C ++新手问题传入:

有人可以向我解释为什么会出现此错误以及我该如何解决?

std::vector<std::string> options = vectorOGROptions_.get()

我希望options var为std::vector<std::string>,但似乎我的vectorOGROptions属性返回不同的类型..

error: conversion from ‘const std::basic_string<char>’ to non-scalar type ‘std::vector<std::basic_string<char> >’ requested

3 个答案:

答案 0 :(得分:2)

您的get()函数返回string,但是您尝试使用此字符串初始化vector,这是不允许的。

你可以使用这样的东西

std::vector<std::string> options;
options.push_back(vectorOGROptions.get());

答案 1 :(得分:0)

您正尝试将字符串分配给矢量。你不能做这个。使用初始化列表。

std::vector<std::string> options{vectorOGROptions_.get()};

答案 2 :(得分:0)

错误表示此get()函数返回const std::basic_string<char>,这只是std::string。使用向量的push_back()方法:

std::vector<std::string> options;
options.push_back(vectorOGROptions_.get());