정적 char 버퍼 [50]를 사용하여 문자열 array1의 다른 동적 문자 배열의 끝에 문자열 array2의 동적 문자 배열을 추가하는 자체 추가 기능을 작성했습니다. 그러나 컴파일러는 다음 오류를 생성합니다. 'char'를 'char [50]'에 할당 할 때 호환되지 않는 유형의 [오류]. 문제를 파악하려고했지만 해결책을 찾지 못했습니다. 귀하의 도움은 매우 감사하겠습니다. Dev-C++을 사용하고 있습니다. 코드는 다음과 같습니다.추가 기능이 예상대로 작동하지 않습니다. C++
#include <iostream>
using namespace std;
char *Appendstring(char *a, char *b) // will append b to the end of a
{
static char buffer[50];
char *p=buffer=*a++; //[Error] incompatible types in assignment of 'char' to 'char[50]'
//[Error] invalid conversion from 'char*' to 'char'[-fpermissive]
p--;
while(*p++=b++);
p--; //append
while(*p++=*c++);
return buffer;
}
int main()
{
string str="Displaying: ";
string add=" Summer is coming";
Appendstring(str, add);
return 0;
}
괜찮지 만'std :: string's에'operator + ='를 쓰지 않는 이유는 무엇입니까? –
문자열 클래스와 그 멤버를 다시 구현하는 것은 C 또는 C++과 같은 저급 언어를 통해 학습하는 일반적인 방법입니다. 질문을 기각하기 위해 설명 된 작업에 대한 연산자가 있음을 지적하는 것과 관련성이 없습니다. –