YS's develop story

C++ Error ) 식에 클래스 형식이 있어야 합니다, error C2288 , 디폴트 생성자 관련 실수 본문

기타

C++ Error ) 식에 클래스 형식이 있어야 합니다, error C2288 , 디폴트 생성자 관련 실수

Yusang 2020. 10. 8. 10:49

안녕하세요 ~ 

 

C++에서 디폴트생성자 관련해서 실수했을때 발생하는 에러를 정리하고자 글을 작성합니다.

 

바로 아래 코드를 확입합시다.

#include <iostream>

using namespace::std;

class Practice {

private:
	int num;

public:

	Practice(int num = 10) {
		this->num = num;
	}

	void showNum() {
		cout << num;
	}
};


int main() {
	Practice prac1();
	prac1.showNum();



	return 0;
}

보기에는 문제가 없어 보이는 코드 같습니다. 

 

하지만 아래와 같이 에러가 발생하게 됩니다.

 

에러의 원인은 아래와 같습니다 

생성자 함수의 디폴트 값을 통해서 클래스를 생성할 때는 ()를 붙이면 안됩니다! 

 

main함수의 부분을 아래와 같이 코드를 변경해 주어야 하죠.

int main() {
	Practice prac1;
	prac1.showNum();

	return 0;
}

 

이는 생성자 함수의 디폴트 값을 이용해 클래스를 생성할 때 쉽게 할 수 있는 실수 이기때문에

다음에 실수 했을 때 헤메지 않기위해서 글을 작성해 둡니다~~

그럼 다음 글에서 봬요 !!

Comments