2011. 12. 30. 00:58

간만에 c++로 샘플을 만들었는데 에러가...

 


error C3861: 'ShowScreen': 식별자를 찾을 수 없습니다.

 

 

1. 재연하기

아래 코드를 넣고 빌드하면 에러가 납니다.

int _tmain(int argc, _TCHAR* argv[])
{
	ShowScreen();
	return 0;
}

void ShowScreen()
{
	char sData[255];
	printf("--------------아무숫자나 입력하세요------------\n");
	scanf( sData);
}

 

 

2. 해결 방법

이건 초보적인 실수인데 헤더로 따로 관리하지 않는 경우 모든 메소드는 순차적으로 접근해야 합니다.

 

B함수에서 A를 호출하기 위해서는 B함수보다 위에 A를 만들어야 한다는 것이죠.
다른 방법으로 상단에 함수원형을 만들어 주는 방법이 있습니다.

 

 

2-1. 함수 원형 만들기

상단에 함수 원형을 만들어 줍니다.

 

void ShowScreen();
int _tmain(int argc, _TCHAR* argv[])
{	
	ShowScreen();
	return 0;
}

void ShowScreen()
{
	char sData[255];

	printf("--------------아무숫자나 입력하세요------------\n");
	scanf( sData);
}

 

2-2. 호출하기 전에 함수 만들기

함수를 사용하기 전에 만드는 방법입니다.

 

void ShowScreen()
{
	char sData[255];

	printf("--------------아무숫자나 입력하세요------------\n");
	scanf( sData);
}

int _tmain(int argc, _TCHAR* argv[])
{	
	ShowScreen();
	return 0;
}

 

마무리

보통은 헤더 파일과 소스 파일을 같이 관리하기 때문에 잘 못 보는 에러입니다.

샘플용으로 파일 하나로 관리하다 보니 보게 되는 에러네요.

말 그대로 안 하던 짓 하면 나는 에러입니다 ㅎㅎㅎ