ABOUT ME

Contact.
Email:yj.anthonyjo@gmail.com
Introduce : CS Student.

Today
-
Yesterday
-
Total
-
  • C++ - 함수 선언부에서의 default값에 대한 고찰
    프로그래밍/C++ 2021. 6. 29. 17:38
    반응형

    선언부를 사용할 때는 선언부에만 default값을 적용해주어야한다.

    선언부에서 default를 해주었는데 정의부에도 default를 해주면, 매개변수 재정의라고 컴파일러가 투정부린다.

    귀엽기는 하지만 고집을 꺾지 않기에, 수긍하고 말을 들어주는 수밖에 없다.

    #include<iostream>
    int adder(int num1=1, int num2=2);
    void main() {
    	std::cout << adder() << std::endl;
    	std::cout << adder(5) << std::endl;
    	std::cout << adder(3, 5) << std::endl;
    }
    int adder(int num1=1, int num2=2) {
    	return num1 + num2;
    }

     

    그리고 선언부를 사용할 때 아래와 같은 괴상한 문법이 된다. 물론 선언부에서의 변수명은 의미 없는 것은 알고 있다만, 그래도 꾀나 신선한 충격을 준 문법이다.

     

    <아래코드의 선언부를 보자.>

    #include<iostream>
    int adder(int n1=1, int n2=2);
    void main() {
    	std::cout << adder() << std::endl;
    	std::cout << adder(5) << std::endl;
    	std::cout << adder(3, 5) << std::endl;
    }
    int adder(int num1, int num2) {
    	return num1 + num2;
    }
    #include<iostream>
    int adder(int =1, int =2);
    void main() {
    	std::cout << adder() << std::endl;
    	std::cout << adder(5) << std::endl;
    	std::cout << adder(3, 5) << std::endl;
    }
    int adder(int num1, int num2) {
    	return num1 + num2;
    }
    반응형

    댓글

Designed by Tistory.