Я пытаюсь инициализировать массив строк с станд :: CIN, но я не могу это мой код:Инициализация массива строк
string *words[6];
for (int i=0 ; i<6;i++){
cin >> words[i]; //error
}
может кто-нибудь помочь мне !!
Я пытаюсь инициализировать массив строк с станд :: CIN, но я не могу это мой код:Инициализация массива строк
string *words[6];
for (int i=0 ; i<6;i++){
cin >> words[i]; //error
}
может кто-нибудь помочь мне !!
Вам не нужно создавать их динамически:
string words[6]; //notice I deleted '*' here
for (int i=0 ; i<6;i++){
cin >>words[i];
}
То, что вы создали это массив указателей, в котором каждый указатель должен быть initalized с new
, прежде чем вы можете использовать его и после этого удален.
у вас есть массив указателей на std::string
, но для вашего кода для работы вам нужен массив std::string
.
См ниже код:
std::string words[6][6];
for (int y=0; y<6; ++y)
for (int x=0; x<6; ++x){
cin >> words[x][y];
}
Не похоже, что ему нужно читать 36 строк ... – Quest
«массив строк 2d?» –
@RiadBaghbanli Скорее всего, пользователь вводит в заблуждение 'char [] []' и 'std :: string []' – NathanOliver
опечатка: 'строка * слова [6]; => string words [6]; ' – NathanOliver
Почему бы не' std :: array words; '? –