再帰を使用して文字列を逆にするためのコードを書いています。私の方法は正しいと信じていますが、セグメンテーション エラーが発生し続けており、それがどこから来ているのかわかりません。私のすべての調査によると、それは私が「記憶に関して奇妙なことをしている」ことを意味します。私はこれに十分慣れていないため、これらの種類のエラーはまだ困惑しているため、ここでの助けをいただければ幸いです。これが私のコードです:
#include <iostream>
#include <string>
using namespace std;
class Palindrome
{
int front;
int back;
public:
Palindrome();
string reverse(string word)
{
int len = word.length()-1;
if (back == 0) {
back = len;
}
if (front >= back)
return word;
else{
char first = word[front];
char last = word[back];
word[front] = last;
word[back] = first;
front += 1;
back -= 1;
reverse(word);
}
}
};
Palindrome::Palindrome(){
front = 0;
back = 0;
}