2014-04-11 1 views
-1

에 대한 정의되지 않은 참조 정적 개인 변수를 처리하는 데 문제가 있습니다. 여기 내 코드가있다.정의 된 정적 전용 변수

ClassA.h :

class ClassA{ 
    static int a; 
public: 
    int getA(); 
}; 

Class.cpp : 당신이 볼 수 있듯이 그것은 이상에 걸쳐 말한 것처럼

#include "ClassA.h" 

int ClassA::a = 9001; 

int ClassA::getA(){ 
    return a; //<--- Undefined reference to ClassA::a 
} 

, 난, 구현 파일에 정적 변수를 정의 나는 또한 다른 클래스의 다른 정적 멤버에게도이 작업을 수행했지만 문제없이 작동하지만이 작업은 수행하지 않습니다. 누구든지 해결책이 있습니까?

+0

아무 문제가 없습니다. Madsen이 제안한대로 세미콜론을 확인하십시오. –

+0

죄송합니다, 세미콜론을 잊어 버린 것에 대한 저의 실수 – TimeZero

+0

이 코드는 괜찮습니다. 간과 한 실제 코드에는 다른 세부 사항이 있어야합니다. –

답변

0

어쩌면 ClassA의 선언 끝에 ;이 누락 되었습니까?

제공하신 코드에 오류가 있는지 확인할 수 없습니다. 아마도 ClassA가 네임 스페이스 안에 정의되어 있을까요?

+0

코드에 오류가 있습니다. 이미있었습니다. – TimeZero

-1

선언

int ClassA :: a; .H 자체는

다음과 같이

:

class ClassA{ 
    static int a; 
public: 
    int getA(); 
}; 
int ClassA::a = 9001; 

또한, 귀하의 클래스 선언은 세미콜론으로 끝나지 않습니다.

+0

이미 완료되었습니다. 결과가 없습니다. – TimeZero

+0

클래스 A 선언 끝에 세미콜론을 추가 했습니까? –

+0

예, 코드 trascription에서 오류가 발생했습니다. 이미 컴퓨터의 .h 파일에있었습니다. – TimeZero