나는 공간에서 개인 정적 멤버와 클래스가있는 경우 :다른 네임 스페이스의 내부 정적 클래스 멤버를 정의
namespace A {
class T {
public:
//functions
private:
static bool a;
static unsigned int b;
그리고 같은 다른 파일이 클래스의 단위 테스트를하고있는 중이 야 :
을namespace {
bool A::T::a = false;
unsigned int A::T::b = 1;
/* tests declaring an instance of A...*/
나는 연타에서 오류가 나타납니다 :
error: cannot define or redeclare 'a' here because namespace '' does not enclose namespace 'T'
error: cannot define or redeclare 'b' here because namespace '' does not enclose namespace 'T'
정적 개인 회원에 관한 다른 답변과 클래스 선언이있는 위치를 선언해야하는 필요성에 대해 살펴 보았습니다. 이는 내가 여기에서하고 있다고 생각하지만 오류가 여전히 나를 벗어납니다.
'namespace {'는 익명입니다. 선언으로서의 정의가'네임 스페이스 A '에서 제안되었지만, 거기에서 할 수는 없다. –