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


  1. void foo() {}
  2. void foo(void) {}

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

  • 2016년 01월 25일에 작성됨

조회수 356


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++가 공통으로 쓰는 헤더에서 일관성을 유지할 수 있습니다.

  • 2016년 01월 25일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close