-2
좋아, 그래서 내 자신의 클래스를 만들었고 나는 연산자를 오버로드 했어 ""s
그래서 내 문자열 형성을 위해 사용할 수있다.리터럴 연산자를 올바르게 재정의하는 방법은 무엇입니까?
그러나 컴파일 할 때 오류가 발생하며 어떤 의미인지 알 수 없습니다. 누군가 그것의 의미와 그것을 고치는 방법을 설명 할 수 있습니까?
내 코드 :
PString operator"" s(const char* text, std::size_t len) {
return PString(std::string(text, len));
}
내 오류 :
error: ‘PString PString::operator""s(const char*, std::size_t)’ must be a non-member function
PString operator"" s(const char* text, std::size_t len) {
실제로 오류 메시지에 대해 명확하지 않은 점은 무엇입니까? 리터럴 연산자를 클래스의 일부로 재정의하려고 시도하는 것 같습니다. – user0042
내가 무엇을 의미하는지 모르겠다는 의미에서 '비회원 함수 여야한다.'라는 오류 메시지의이 부분이 무엇인지 - 이른바 비회원은 무엇입니까? –
이것은 반드시 만들어야한다는 것을 의미합니다. 'PString' 클래스 외부의 자유 함수. – user0042