강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

bona Kim님의 프로필 이미지
bona Kim

작성한 질문수

홍정모의 따라하며 배우는 C++

13.7 포인터에 대한 템플릿 특수화

질문이에요

작성

·

179

0

13. 7 포인터에 대한 템플릿 특수화 강의를 듣던 도중에, 템플릿 파라미터가 포인터일 경우 특수화하는 것에 대한 코드를 작성하는 것을 보다가 문득 궁금해서 질문드려요.

포인터일경우 특수화하는 과정에서

template<class T>

class A

{  private : T m_value;

  public : A(const T& input) : m_value(input)

... }

이였던 코드를, 포인터에 대한 특수화로 변경하시면서, 생성자의 파라미터 부분을 A(T* input)으로 바꾸시더라구요. 생성자의 파라미터 부분을 A(const T * input)이나 A(const T* & input)으로 두고 할 경우 error가 나는데 왜 error가 나는건가요 ? 

특히, const T* input의 의미는 input에 저장된 주소값을 변경하지 않는다는 의미라고 생각하면, 큰 문제가 없을 것 같은데.. 설명 부탁드려요.

감사합니다!

답변 1

1

안녕하세요? 좋은 시도를 하셨다고 생각합니다.
char * str = "hello"; // (1)
const char * str = "hello"; // (2)

(1) 과 (2) 는 어떻게 생각하시나요? 에러 메시지를 다시 읽어보시는 것도 좋을 것 같습니다.

bona Kim님의 프로필 이미지
bona Kim

작성한 질문수

질문하기