Dev Tool Tips/C/C++2010. 5. 6. 15:35

함수를 만들 때는 필요할 것 같았는데 막상 어떤 이유에서건 사용하지 않는 파라미터가 생기는 경우가 있다.
물론 함수를 호출하는 쪽에서나 정의한 곳, 선언한 곳 모두 찾아서 지우면 되긴 하지만
다음에도 쓸 가능성이 있고 해서 남겨둘 필요가 있을 때는 다음과 같이 매크로를 사용하면 편리하다.
이렇게 해두면 컴파일러에서 사용되지 않는 파라미터에 대한 경고가 나오는 것도 막을 수 있다.

#define PARAM_UNSED(x) (void)x)

int test_function(int foo)
{
#if 0
  return foo+2;
#else
  PARAM_UNSED(foo);
  return 0;

#endif
}

참고로 Microsoft Visual Studio에서는 UNREFERENCED_PARAMETER라는 매크로로 다음과 같이 winnt.h에 정의되어 있다.

#define UNREFERENCED_PARAMETER(P)               (P)
#define DBG_UNREFERENCED_PARAMETER(P)        (P)
#define DBG_UNREFERENCED_LOCAL_VARIABLE(V)  (V)



Posted by young.h.rhie