|
bluewing 님이 쓰신 글 :
: Stl의 basic_string에서 상속받은 함수를 다음과 같이 만들었습니다.
:
: class Rstring : public std::string { ~~ }
:
: 문제는.. 이 함수에서 substr()함수를 재정의해서 사용하려고 하는데
: 부모인 basic_string의 substr()함수를 부르는게 애매하네요.
: 아래와 같이 호출하면..
:
: Rstring Rstring::substr(int off, int count)
:
: {
: .....
: std::basic_string.substr( off, count ).c_str();
: .....
: return tempStr;
: }
:
: 다음과 같은 오류가 납니다.
:
: error C2955: 'std::basic_string' : 템플릿 클래스를 사용하려면 템플릿 인수 목록이 있어야 합니다.
:
: 어떻게 해야지 부모 클래스인 basic_string의 find()함수를 부를 수 있나요?
아마도 char을 사용하시겠지요?
std::basic_string<char>::substr( off, count ).c_str();
;
typedef char char_type;
typedef std::basic_string<char_type> parent_type; 고 같이 정의해두고 사용하는 게 편리할 것입니다.
|