Я нахожусь в начинающем классе программирования C ++, и в настоящее время мы изучаем классы и конструкторы.Я застрял в задании, где мы должны написать функцию для случайного выбора цвета из нашего цветового массива.Ниже то, что я имею до сих пор.Я думаю, что я близко, но я получаю ошибку компилятора и не знаю, как ее исправить.
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
class ColorClass {
public:
ColorClass() {
setColors();
}
void setColors() {
colors[7] = {"Red, Orange, Yellow, Green, Blue, Purple, Indigo"};
}
const std::string getColors() {
return colors[7];
}
std::string randomizeColor() {
cout << "the colors are: " << colors;
string word = colors[rand() % 7];
cout << "word is :" << word;
return word;
}
private:
std::string colors[7];
};
int main() {
srand (time(NULL)); //initialize the random seed
ColorClass colorClass;
colorClass.setColors();
cout << colorClass.getColors() << endl;
cout << colorClass.randomizeColor() << endl;
colorClass.requirement();
return 0;
}
Ошибка компилятора что-то вроде
нет жизнеспособного преобразования из std:: __ 1 :: basic_string ... std :: _ 1 :: allocator
(слишком долго, чтобы напечатать, но надеясь, что кто-то понимает это на первый взгляд).