Possible Duplicate:
Why is it an error to use an empty set of brackets to call a constructor with no arguments?
Constructing Objects and Calling Member functions설정 생성자 기본값 ++
는 최근에 나는 생성자하지만 오늘은 내가 생성자 매개 변수에 대한 기본값을 설정하는 데 문제가 있었어요에 대해 조금 배웠다.
HPP하기 파일의 생성자 선언은 다음과 같습니다
class PlayingCard {
public:
PlayingCard(int value = 0, int suit = 0); //default values supplied
과 CPP 파일의 정의는 다음과 같습니다
PlayingCard::PlayingCard(int value, int suit) : _faceValue(value), _suit(suit)
{}
(_faceValue
및 _suit
는 플레잉 카드의 개인 회원) 이렇게 테스트 할 때 :
PlayingCard card1();
PlayingCard card2(7, 1);
cout << "suit int value: " << card1.getSuit() <<
" face value: " << card1.getFaceValue() << endl;
cout << "suit int value: " << card2.getSuit() <<
" face value: " << card2.getFaceValue() << endl;
card2는 card1과 관련된 코드를 주석 처리하면 정상적으로 작동합니다. 그렇지 않으면 오류가 발생합니다 : 'card1'의 멤버 'getSuit'에 대한 요청입니다.이 클래스는 'PlayingCard()'클래스가 아닌 유형입니다.
이는 인수없이 생성자를 사용하지 않는다는 것을 의미합니까? 내가 도대체 뭘 잘못하고있는 겁니까?
하하, 감사합니다. – Holly