간혹 컴파일 하다보면 이런 경고가 튀어 나올때가 있다. (주로 warning level이 높게 지정된 경우 - 4정도? - 에 튀어나온다)
warning C4100: 'argc' : unreferenced formal parameter
warning C4100: 'argc' : 참조되지 않은 형식 매개 변수입니다.
한마디로, 선언은 해놨지만 쓰이지 않고 있다는 소리다.
Console 프로그램의 argc, argv같은 경우나, 프로토타이핑할 때 함수나 클래스의 껍데기만 만들다 보면 주로 발생한다.
사실 별로 상관은 없으니까 무시하면 된다...
그러나!! 계속 눈에 거슬리니까 신경 쓰인다. (당신도 변태? -_-+)
이럴땐 UNREFERENCED_PARAMETER(...) 매크로를 사용하자.
void SomeFunction(int arg1)
{
UNREFERENCED_PARAMETER(arg1);
}
실제 구현은 다음과 같다. (winnt.h에 선언되어 있다. windows.h를 include하면 알아서 따라온다.)
#define UNREFERENCED_PARAMETER(P) (P)
그냥, warning없애주기 위해 한번 쓱 건드리고 지나가는 역활밖에 안한다. -_-;
성능에 영향도 없는데다, 오류도 없애주니까.. 신경쓰일땐 애용해 보자.
(물론 #pragma warning( disable : 4100 )로 간단하게 없애는 방법도 있지만.. 진정한 변태라면!!)
이 외에도
DBG_UNREFERENCED_PARAMETER, DBG_UNREFERENCED_LOCAL_VARIABLE 등도 준비되어 있다.
입맛에 따라 골라써먹자! -_-!!