문자열을 취하는 함수를 만들려고하는데, 그 변환은 모두 main에서 수행됩니다. 여기 내가 지금까지 가지고있는 것이있다.C 스타일 문자열로 변환
#include <cstring>
#include <iostream>
#include <string>
std::string str = "zombie";
void Reverse(std::string a)
{
char* a1 = a.c_str;
char* a2;
for (int i = (strlen(a1) -1); a1[i]!=0; i--)
{
a2 += a1[i];
}
str = a2;
}
int main()
{
Reverse(str);
std::cout << str << std::endl;
}
하지만이 오류가 계속 발생합니다. 이 질문에 포인터를 사용할 수 없습니다. 어떤 제안?
편집 : 특히 삽입 된 매개 변수를 C 스타일 문자열로 변환하는 데 문제가 있습니다.
EDIT 2 : 내가 이해할 수 있도록 코드를 수정하기 시작했습니다. 적절한 코드를 사용하여도 목표를 달성하지 못했습니다. 이게 더 나은 방향일까요? 함수에 전달하기 전에 문자열을 C 스타일로 변환하려고합니다.
void Reverse(const char* s)
{
int x = strlen(s);
std::string str = "";
for (int c = x; c > 0; c--)
{
str += s[c];
}
}