2013-11-15 3 views
0

Подцепитесь! C++ новичок вопрос входящий:C++ - Преобразование std :: basic_string <char>

Может кто-нибудь объяснить мне, почему эта ошибка возникает и как ее исправить?

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

Я хочу, чтобы получить options вар, как std::vector<std::string> но это, кажется, моя собственность vectorOGROptions возвращает другой тип ..

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

Предполагая, что вы используете C++ 03, а не C++ 11, сделать 'STD :: вектор опции (1, vectorOGROptions_.get());'. – legends2k

ответ

2

Ваш get() функция возвращает string, но вы пытаетесь инициализировать вектор с этой строкой , это недопустимо.

Вы можете использовать что-то вроде этого

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

Вы пытаетесь присвоить вектор строки. Ты не сможешь это сделать. Используйте список инициализаторов.

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

ошибка говорит, что эта функция возвращает get()const std::basic_string<char>, что ничего, кроме std::string. Используйте push_back() метод вектора:

std::vector<std::string> options; 
options.push_back(vectorOGROptions_.get()); 
Смежные вопросы