坚持定义静态指针并使用它

时间:2010-01-02 08:16:23

标签: c++ pointers

我坚持在我的一个类中定义一个指向另一个类的静态指针 这是我所做的模式:

#busineslogic.h
class BussinesLogic {

private :
static Samenamespace::otherclass_DataLogic::clsDL *DL;
 };

#busineslogic.cpp
 samenamespace {
 businessnamespace{
 clsBL{

   Samenamespace::businessnamespace::clsBL *Samenamespace::businessnamespace::clsBL::DL;
  }
 }
}

所以使用上面的定义我每次编译代码时都会收到错误,我已经尝试了其他几种方法来解决这个问题但面对的错误不会改变整个问题。

我想知道如何以静态的方式从我的班级访问另一个类我的意思是上面的例子,我应该如何更改我的代码?或者应该添加额外的东西?

1 个答案:

答案 0 :(得分:3)

// header:
#include <other/b.hpp>

namespace example {
struct A {
  static other::B* name;
};
}


// implementation: (.cpp)
namespace example {
other::B* A::name;
}

编辑:通过清理问题,看起来B和A在同一名称空间中,这将简化示例:

// header:
#include <example/b.hpp>

namespace example {
struct A {
  static B* name;
};
}


// implementation: (.cpp)
namespace example {
B* A::name;
}