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;
}
→ Ссылка