인수 1을 'float'에서 'float[]'으로 변환 할 수 없다

조회수 549회
#include <iostream>
using namespace std;

float func(float a[]);

int main()
{
    float x[3] = { 1.5, 2.5, 3.5 };

    *cout << func(x) << endl;*
}

float func(float a[])
{
    float sum = 0;
    for (int i = 0; i < 2; i++)
        sum += a[i];
    return sum;
}

제가 여기서 살짝 변형을 해서 x[1],x[2]의 합을 구하고 싶은 상황입니다. 그래서 cout << func(x) << endl;cout << func(x[1]) << endl;로 바꿨더니 "인수 1을 'float'에서 'float[]'으로 변환 할 수 없다"고 오류가 뜹니다. 이 문제를 해결하려면 어떻게 해야 할까요?

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    x[1]앞에 주소를 나타내는 &를 붙여서, &x[1]로 해야 합니다.

    즉, cout << func(x[1]) << endl;이 아니고, cout << func(&x[1]) << endl;로 하면 됩니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)