다음을 통해 공유


컴파일러 경고(수준 3) C4101

업데이트: 2007년 11월

오류 메시지

'identifier' :참조되지 않은 지역 변수입니다.
'identifier' : unreferenced local variable

지역 변수가 사용되지 않습니다. 이 경고는 명백한 상황에서 발생합니다.

// C4101a.cpp
// compile with: /W3
int main() {
int i;   // C4101
}

하지만 이 경고는 정적 멤버 함수가 클래스의 인스턴스를 통해 호출되는 경우에도 발생합니다.

// C4101b.cpp
// compile with:  /W3
struct S {
   static int func()
   {
      return 1;
   }
};

int main() {
   S si;   // C4101, si is never used
   int y = si.func();
   return y;
}

이러한 경우에는 컴파일러가 si에 대한 정보를 사용하여 정적 함수에 액세스하지만 정적 함수를 호출하는 데에는 클래스의 인스턴스가 필요하지 않으므로 경고가 발생합니다. 이 경고를 해결하려면 다음을 수행하십시오.

  • 컴파일러가 func에 대한 호출에서 si의 인스턴스를 사용할 수 있는 생성자를 추가합니다.

  • func 정의에서 static 키워드를 제거합니다.

  • 정적 함수를 명시적으로 호출합니다. int y = S::func();