강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

호두님의 프로필 이미지
호두

작성한 질문수

홍정모의 따라하며 배우는 C++

7.8 매개변수의 기본값

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

해결된 질문

작성

·

354

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

홍정모님의 프로필 이미지
홍정모
지식공유자

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

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

호두님의 프로필 이미지
호두

작성한 질문수

질문하기