Вы получаете ошибку компиляции, потому что вы пытаетесь присвоить символ * в массив символов.
Поскольку wordbank является двумерным массивом wordbank [index], будет char * (указатель на char). C и C++ не имеют никакого неявного преобразования из char * в массив char. Следовательно, вы получите ошибку компиляции.
Если вы хотите получить копию случайной строки в Wordbank, это можно сделать так:
char wordbank[5][20] = {"house", "car", "tree", "bicycle", "shark"};
srand (time(NULL));
int random = rand() % 5;
char word[20];
strcpy(word, wordbank[random]); // strcpy (string copy) takes a copy of the 2nd string
// (i.e. wordbank[random]) and puts it into the 1st
// string (i.e. word).
Если вы просто хотите, чтобы указать на произвольную строку в Wordbank, это ча быть сделано, как это:
char wordbank[5][20] = {"house", "car", "tree", "bicycle", "shark"};
srand (time(NULL));
int random = rand() % 5;
char* word = wordbank[random]; // word is a pointer to a string. It is
// initialized to point to the string
// held by wordbank[random]
С помощью первого метода вы можете изменить значение слова, не изменяя значение wordbank. При втором методе вы будете менять оба одновременно.
BTW - используйте std :: string вместо строки и вектора стиля C вместо массива. Если вы действительно хотите, чтобы массив использовал стиль C++.
Что-то вроде:
vector<string> wordbank; // Make a vector of strings to hold your wordbank
wordbank.push_back("house"); // Add words to wordbank one-by-one
wordbank.push_back("car"); // ...
wordbank.push_back("tree"); // ...
wordbank.push_back("bicycle"); // ...
wordbank.push_back("shark"); // ...
// or add all words at initialization - like:
//vector<string> wordbank {"house", "car", "tree", "bicycle", "shark"};
srand (time(NULL));
int random = rand() % wordbank.size();
string word = wordbank[random]; // Copy wordbank[random] into word
Теперь вы можете просто добавить новые слова Wordbank не доводя о том, сколько слов она содержит и как долго отдельные слова.
Если вы работаете с * строками *, используйте 'std :: string' в C++. Кроме того, обязательно указывайте * точные * сообщения об ошибках. Мы не видим экран вашего компьютера. – crashmstr
'rand()% 0' ...? – Daniel
rand()% 0.. ?? Деление на ноль .! ! ! Даже если вы скомпилируете его успешно, он должен сработать.! –