inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[쥬신게임아카데미 버거쌤] 완전 초보자를 위한 게임 C++

동적 할당의 방법과 배열의 동적 할당.

32:51초 질문입니다.

해결된 질문

487

이원재

작성한 질문수 3

2

int* pInt = new int[2] (1, 2); 가 아니라

int* pInt = new int[2] {1, 2} 아닌가요??

 

괄호 -> 중괄호 

 

영상이랑 똑같이하면 새 이니셜라이즈 어쩌구 오류가 발생해서요

c c++

답변 2

0

[쥬신게임아카데미] 버거형

"C++20 표준"에 와서는 중괄호 초기화의 제한이 사라졌습니다.

int* pArray = new int[2](1, 2); -----> C++20 표준 이후에서 초기화 가능 C++17 이하에선 불가능

int iArray[2](1, 2) -----> C++20 표준 이후에서 초기화 가능. C++17 이하에선 불가능

int* pArray= new int[2]{1, 2}; -----> 이전의 방식대로 여전히 초기화 가능.

int iArray[2]{1, 2} -----> 이전의 방식대로 여전히 초기화 가능.

이라고 정리해볼 수 있습니다!

단, 일반 괄호를 통한 초기화는 유니폼 초기화와는 다르게 하강 변환을 허용하기 때문에 값이 잘리더라도 따로 컴파일 에러를 발생 하지는 않습니다.

이원재님 말씀과 같이 배열을 중괄호를 통해 초기화하는 것도 당연히 허용되며 C++20부터 소 괄호를 통한 초기화도 지원 가능하다고 정리할 수 있을 것 같습니다. 이원재님 컴파일러에서 에러가 발생하는 이유는 컴파일러의 셋팅이 C++20을 사용하도록 설정되어있지 않기 때문입니다. 컴파일러 버젼을 최신으로 설치하셨더라도 설정은 C++14 표준일 확률이 높습니다.

제 강의가 C++20의 문법도 사용하고 있기에 상위 버젼의 C++표준을 사용할 수 있도록 설정하시면 수강에 도움이 되실 겁니다.

프로젝트 C++버젼 표준 설정 방법 : 비쥬얼 스튜디오 상단 메뉴 중 프로젝트 -> (프로젝트이름)속성 -> 구성 속성 -> C/C++ -> 모든 옵션을 클릭하시면 오른쪽에 많은 메뉴가 나오는데 상단 쪽에 위치한(처음 열면 중단에 스크롤 되어 있으므로 스크롤 위로 올리셔야 합니다! ) C++언어 표준을 클릭하시오 ISO C++20 표준으로 설정하시거나 Latest c++을 선택하셔도 됩니다!

 

답변이 수강에 도움이 되셨길 바랍니다!

열공!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

이원재님, 말씀하신 부분을 봤을 때, C++에서 배열을 동적으로 할당하면서 초기화하는 표현식을 사용하신 것 같아요.

int* pInt = new int[2] (1, 2);는 올바른 C++ 배열 초기화 문법이 아니며, 컴파일 오류를 발생시킬 수 있습니다. 올바른 배열 동적 할당 및 초기화 문법은 중괄호 {}를 사용하여 int* pInt = new int[2] {1, 2};와 같이 작성하는 것입니다. 그래서 정정하신 부분이 맞습니다. 중괄호를 사용하여 배열 요소를 초기화하는 방식이 맞는 문법이니 해당 방식대로 코드를 수정하신다면 오류 메시지 없이 원하는 대로 작동할 것입니다.

영상에서는 실수로 괄호를 사용한 것일 수도 있으니, 올바른 사용법인 중괄호로 수정하셔서 코드를 실행해 보시기 바랍니다.

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

5

2

AddGameFrameworkComponentReceiver vs AddExtensionHandler

0

11

0

scanf("%d\n") 의미

0

9

1

필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)

0

18

2

2주차 개념#12 트리 순회

0

19

2

백준 사이트 서비스 종료

0

52

3

26년 1회 실기 해설 강의

0

46

2

프로젝트 질문 문의

0

41

1

주소 연산자(&) 간접 지정자(*) 반대 개념

0

25

1

53번 4-1 자료 오류 있는 것 같습니다.

0

67

2

7번문제

0

55

2

C언어 변형문제 9번문제 Pdf 수정요청

0

43

2

메서드 오버드라드

0

44

2

실수

0

43

1

백준사이트가 종료된다고 합니다.

0

224

2

공부 우선순위 우선강의 알려주세요

0

81

1

생성자 호출순서 강의 10번 문제 30분대 질문입니다

0

43

2

25년 2회 기출 5:40 질문입니다.

0

37

2

C언어 출제변형 6번 문제

0

47

2

강사님, 강의 질문은 아닌데요ㅠ

0

100

1

공부방법

0

435

2

클래스의 개념과 구조체와의 비교 < 강의에서여

1

492

3

컴파일러 셋팅 및 코딩의 시작에서

0

519

1

c++ 다음 강의 계획이 궁금합니다.

0

457

1