• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

7:50 생성자 관련 질문드려요

21.07.24 18:23 작성 조회수 185

0

안녕하세요? 7:50 에 교수님께서 생성자가 파라미터가 하나도 없는 경우에만 괄호를 항상 빼도록 되어있다고 하셨습니다. 그런데 괄호를 붙이고 빌드를 해보니, 아무런 에러나 경고가 뜨지 않았습니다.  괄호를 빼는것이 에러가 떠야 하는건데 제 컴파일러가 잡아내지 못한것인지, 아니면 프로그래머끼리의 약속인지 궁금합니다.

항상 감사드립니다.

답변 1

답변을 작성해보세요.

2

안소님의 프로필

안소

2021.07.24

교수님말씀처럼 () 괄호 안붙여야 하는게 맞습니다.

이렇게 코드 짠 후 실행해보면 "안녕" 이 한번만 출력이 됩니다. f2() 도 생성자 호출 역할을 했으면 안녕이 2번 출력되었어야겠죠?

디버깅 해보면 Fraction f2(); 는 아예 건너 뜁니다.

 warning C4930: 'Fraction f2(void)': 프로토타입 함수가 호출되지 않았습니다. 변수 정의로 사용하려고 한 것은 아닌지 확인하십시오.

이렇게 경고도 주네요! 질문자님께서 첨부하신 사진에도 나와있는 경고입니다.

이처럼 파라미터 없는 생성자에 괄호를 붙여 호출하면 생성자 호출이 되지 못합니다.