2012-07-09 5 views
0

나는 점점 오전 : 여기 이 오류는 무엇입니까? "적절한 기본 생성자가 없습니다"?

main.cpp(13): error C2512: 'myPlayer' : no appropriate default constructor available

그것을 참조하는 코드는 다음과 같습니다

myPlayer player; 

되는 생성자 : 또한

myPlayer (int myHealth, int myDamage, int myMoney, int myWeaponID, int myClass) : health(myHealth), damage(myDamage), money(myMoney), 
    weapon_id(myWeaponID), p_class(myClass) {} 

, 어떻게 수를 표시 할 수 있습니다 Visual Studio 11의 각 줄마다?

+0

는 해당 클래스의 기본 생성자 (인수가없는 한)을 가지고 있습니까 :

당신의 선택은 당신처럼 객체를 생성 할 때 인자를 다른 인수가 필요하지 않거나 생성자를 작성할 수 있습니다 ? 그렇지 않으면 신고해야합니다. – Linuxios

답변

6

귀하의 생성자는 모든 유형이 int 인 5 개의 매개 변수를 사용하도록 선언되었습니다. 매개 변수를 제공하지 않습니다. myPlayer player(1, 2, 3, 4, 5);

+0

옵션 3 : 모든 매개 변수의 기본값을 지정하십시오. 옵션 4 (C++ 11) : 모든 구성원에게 클래스 내 구성원 초기화 프로그램을 사용하십시오. 선생님이 너무 구체적이기 때문에 뭔가를 제공 했으므로 첫 번째 단락은 함수를 제공 한 것이므로 논의가 끝나야합니다. – chris

+0

@chris : 옵션 3은 실제로 옵션 1입니다. 기본값을 제공하면 객체를 만들 때 인수에 대한 요구 사항을 제거하는 한 가지 방법 일뿐입니다. 옵션 4는 거의 동일합니다. 객체를 생성 할 때 인수를 전달해야한다는 요구 사항을 제거하는 또 다른 메커니즘입니다. –

+0

같은 생각, 그래,하지만 다른 방법. 상황에 따라 다른 사람보다 잘 들어 맞을 수도 있습니다. – chris

관련 문제