2014-03-29 6 views
0
class Building{ 
private: 
int floor; 
public: 
Building(int s) { floor = s;} 
}; 

int Main(){ 
Building twin, star; 
Building BlueHouse(5), JangMi(14); 
} 

이 코드를 작성하면 '오류'C2512 : 'Building': '적절한 기본 생성자를 사용할 수 없습니다'라는 코드가 작성됩니다. I'v가 C++을 배우기 시작한 지 겨우 몇 주 밖에 지나지 않았습니다. < 나를 도와주세요, C++ 주인님!오류 C2512 : 'Building': 적절한 기본 생성자가 없습니다.

답변

0

당신은 쓸 때 :

Building twin, star; 

그것은 당신이 어떤 초기화를 제공하지 않았기 때문에, 기본 생성자를 사용 twinstar을 생성하는 것을 의미합니다. 하지만 기본 생성자를 정의하지 않았으므로 이것은 오류입니다.

이 문제를 해결하려면 기본 생성자 (예 : class Buildingpublic 섹션에 : floor 당신이 있었다 다른 멤버 변수가 있다면 그냥 int이지만, 때 생성자에서 변수를 초기화 구문을 사용

Building(): floor(0) {} 

참고이 실제로 Building() { floor = 0; }과 동일 클래스 유형의 경우 차이가 있습니다.

또는 당신은 기존의 생성자에 기본값을 추가 할 수 있습니다

Building(int s = 0): floor(s) {} 
관련 문제