Это ссылка на следующий ответ Synxis.Ошибка при печати всех подстрок строки
Предположим, я должен напечатать все подстроки строки «АРОБ». Чтобы сделать это, я должен вызвать метод как это:
findAllSubstrings2("cbaa");
Если взять строку из пользователя и выполните следующие действия:
string s;
cin>>s;
findAllSubstrings2(s);
это дает следующее сообщение об ошибке:
[Error] cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' for argument '1' to 'void findAllSubstrings2(const char*)'
Почему это происходит?
Вы используете 'string', и функция принимает массив' char'. Измените строку 's' на 'char [] s'. –
Но когда я набираю findAllSubstrings2 («cbaa»), я передал строковый аргумент, и функция работает правильно для этого. – Shubham