return 1. Как с этим работать?
На CodeWars есть задачка перевернуть строку. Прогнал через for с конца. Но не засчитывается. Пишет "no suitable constructor exists return 1".
std::string reverseString(std::string str)
{
/*std::string revString = str;
int b = 0;
for (std::size_t a = str.size() - 1; a <= 0; a--) {
revString[b] = str[a];
b++;
}
std::cout << revString << std::endl; - мой код*/
return 1;
}
Complete the solution so that it reverses the string passed into it.
#include <string>
using namespace std ;
string reverseString (string str )
{
/* your code here */
return 1;
}
Ответы (2 шт):
Автор решения: Билолбек Атабеков
→ Ссылка
Вот рабочий код для того, чтобы перевернуть текст с готовй функцией reverse с библиотеки algorithm.
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str = "test string";
reverse(str.begin(), str.end());
cout << str << std::endl;
return 0;
}
Вот циклический вывод реверсивно
#include <iostream>
#include <string>
using namespace std;
int main()
{
string arr;
getline(cin, arr);
for(int x=arr.size()-1; x>=0; x--){
cout << arr[x];
}
cout << endl;
return 0;
}
А в целом про return: return это команда закончить текущую функцию (и вернуть значение вызыающей функции)
return 0
если это return в main() то программа закнчивается.
А если указать return 1
Implementation defined.
Обычно работает так же как и EXIT_FAILURE.
Автор решения: vp_arth
→ Ссылка
Я бы решил вашу задачу так:
// Complete the solution so that it reverses the string passed into it.
#include <string>
using namespace std ;
string reverseString (string str )
{
/* your code here */
return string(str.rbegin(), str.rend());} int foo() {
return 1;
}