강의

멘토링

커뮤니티

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

녹조현상님의 프로필 이미지
녹조현상

작성한 질문수

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

8.5 위임 생성자

class에서 배열 생성할 때 질문입니다!

작성

·

193

0

class test

{

private:

int num;

int arr[5];

public:

test()

:num(5), arr{ 1,2,3,4,5 }

{}

test 클래스 에서 arr 배열을 생성할 때 constructor에서 선언하지 않고

void init(const int& n)

{

num = n;

arr = { 1,2,3,4,5 };

}

init 함수를 써서

test()

{

init(5);

}

이렇게 생성하고 싶은데 위와 같이 생성하려고 하면

init에서 arr = { 1,2,3,4,5 }; expression must be a modifiable lvalue 뜨면서 생성이 안됩니다!

이럴 때는 해결 방법이 있을까요?

답변 1

0

음, 작성해주신 소스코드가 정확히 어떤지 확실치는 않지만,

생성자를 굳이 사용하지 않을 이유가 있을까요?

제시해주신 코드 일부를 보면

class test

{

private:

int num;

int arr[5];

 

생성자를 사용하여 초기화하는 것이 가장 좋아 보입니다.

녹조현상님의 프로필 이미지
녹조현상

작성한 질문수

질문하기