return vector of enum

103
28 июня 2019, 07:00
enum class color{red,green, blue};

есть вот такой enum, я хочу его в вектор положить, а потом из функции вернуть

vector<color> getVectorFunc();

я не пойму как это сделать?

vector<color> getVectorFunc(){
   return //......//;
}
Answer 1

Не понимаю, где проблема?

#include <vector>
enum class color {red,green, blue};
std::vector<color> getVectorFunc() {
    std::vector<color> v {color::red,color::green, color::blue};
    return v;
    }
int main() {
    std::vector<color> v = getVectorFunc();
    }
Answer 2

Вот так можно положить enum в контейнер std::vector и вернуть его из функции. Только не забудьте библиотеку vector подключить.

enum color { red, green, blue }; // объявление перечисления
std::vector <color> getVectorFunc() // ф-я
{
    std::vector <color> Vec; // создаём вектор принимающий enum 
    color c; // создаём объект
    Vec.push_back(c); // метод push.back() добавляет переданный объект в конец вектора 
    return Vec; // возвращаем вектор
}
int main() 
{
    std::vector <color> getVectorFunc(); // вызов ф-ии возвращающей enum 
    return 0;
}

А в чём, собственно, проблема была?

READ ALSO
Как вставить данные из MySql в scrollArea QT

Как вставить данные из MySql в scrollArea QT

Подключил базу данных MySQL к окну в QT(думаю что подключил так как ошибки не выдает), а вот как сделать так чтобы в моем списке загружались данные...

126
Перестановка строк и столбцов в матрице для перемещения влево вверх. (С)

Перестановка строк и столбцов в матрице для перемещения влево вверх. (С)

Необходимо двигать строки и столбцы так, чтобы наибольший элемент оказался слева вверхуДо того, как начал разбираться с этими перемещениями,...

125
Как правильно передать данные из COM порта

Как правильно передать данные из COM порта

В COM порт поступают данные вида 0,0,999,000000110: , получив строку ее надо привести к виду 0,0,999,0,0,0,0,0,0,1,1,0

95