<고치기 전 코드>
#include <iostream>
using namespace std;
int func2(int arr[], int N)
{
for (int i = 0; i < N; i++)
{
for (int j = i + 1; j < N; j++)
{
if (arr[i] + arr[j]==100)
{
return 1;
}
}
}
return 0;
}
int main(void) {
func2({ 1, 52, 48}, 3);
}
-> func2({1, 52, 48}, 3); 부분에서 오류 발생
이유: C++ 에서는 배열을 함수의 매개변수로 전달할 때 배열을 직접 초기화할 수 없다.
대신 배열을 매개변수로 전달하기 전, 미리 선언하고 초기화한 다음, 그 배열을 함수에 전달해야 한다.
<고친 코드>
#include <iostream>
using namespace std;
int func2(int arr[], int N)
{
for (int i = 0; i < N; i++)
{
for (int j = i + 1; j < N; j++)
{
if (arr[i] + arr[j] == 100)
{
return 1;
}
}
}
return 0;
}
int main(void) {
int arr[] = { 1, 52, 48 };
func2(arr, 3);
}
'언어 > C++' 카테고리의 다른 글
[C++] 오류 : E2140) 식에 정수 또는 범위가 지정되지 않은 열거형 형식이 있어야 합니다. (0) | 2025.03.18 |
---|---|
[C++] 자료형 크기 (0) | 2025.03.18 |
[C++] 오류 : c1083) 컴파일러 중간 파일을 열 수 없습니다. (0) | 2024.07.04 |
[C++] string 헤더파일을 include 하지 않아도 잘 실행되는 이유 (0) | 2024.01.28 |
[C++] vector 최댓값, 최솟값 구하기 (+ 인덱스까지) (0) | 2024.01.26 |