• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

[05:03] 함수 선언부, 정의부 중 한 곳에만 디폴트 파라미터 넣을 경우

20.01.20 11:52 작성 조회수 241

0

안녕하세요?

함수 선언부에선 디폴트 파라미터 빼고 정의부에서 디폴트 파라미터 넣을 경우에 컴파일 에러가 납니다. 

<코드>

// 7_8.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
using namespace std;

//void print(int x = 7, int y = 8, int z = 10);
void print(int xint yint z);

int main()
{
    print(20);
    //print();

    return 0;
}

void print(int x = 7int y = 8int z = 10)
//void print(int x, int y, int z)
{
    cout << x << " " << y << " " << z << endl;
}

'print': function does not take 1 arguments

감사합니다.

답변 1

답변을 작성해보세요.

1

아래에도 비슷한 질문이 있었는데, 컴파일러가 위에서 아래로 읽어내려가면서 컴파일 하기 때문에 그렇습니다.

객체지향에서 클래스의 멤버 함수는 또 다릅니다.