C/C++에서 foo(void)랑 foo()의 차이

조회수 3427회
  1. void foo() {}
  2. void foo(void) {}

이 둘은 어떻게 다른 건가요? 둘이 같은 거면, void인자는 왜 있는 건가요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기
    1. void foo() {}
    2. void foo(void) {}

    는 C와 C++에서 다르게 해석됩니다.

    C에서:

    1. void foo() : 함수 foo가 받을 인자의 타입과 수가 정해지지 않음
    2. void foo(void) : 함수 foo는 인자를 받지 않음

    C++에서:

    1. void foo() : 함수 foo는 아무런 인자를 받지 않음
    2. void foo(void) : 함수 foo는 아무런 인자를 받지 않음

    이기 때문에

    (void)를 명시해줘야 C/C++가 공통으로 쓰는 헤더에서 일관성을 유지할 수 있습니다.

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

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

(ಠ_ಠ)
(ಠ‿ಠ)