나 개발자 진짜 되냐?

C++ 배열 리터럴 문제 ( 리터럴이란?? ) 본문

C++을 시작해봐요!/문법정리를 해보았어요!

C++ 배열 리터럴 문제 ( 리터럴이란?? )

Snow Rabbit 2025. 4. 15. 00:14

 

c++ 은 배열 리터럴을 인자로 바로 넘기는 문법이 아니라고 한다.

 

리터럴이 뭐지?

 

리터럴이란

프로그래밍 언어에서 소스 코드에 특정한 값을 직접 표현하는 방식

 

왕 간단하게, 

변수를 선언함과 동시에 그 값을 지정해 주는 표기법

 

그래서

int a = func2({2, 28, 82});

 

이런식은 뻘건 줄이 쳐진다.

 

해결방법은 두가지다.

 

1. 배열을 먼저 선언해서 넘기기

int arr1[] = {2, 28, 82};
int a = func2(arr1);

 

 2. C++11 이상에서는 std::vector 사용하기

 

int func2(std::vector <int> arr) { 내용 어쩌고 저쩌고}

int main(){  int a = func2({2, 28, 82}); }