我不知道如何初始化一个静态类成员而不创建这个类的对象。 这里是我的代码:C++初始化和修改一个静态类成员
namespace {
class CPassant : public thread
{
private:
static unsigned LastID;
public:
CPassant (unsigned pDelaiArr = 0, unsigned pDelaiDep = 0)
{
(blabla)
}
static void setLastID (unsigned Valeur)
{
LastID = Valeur;
/* error : undefined reference to `(anonymous
namespace)::CPassant::LastID' */
} // setLastID()
}; // class CPassant
} // anonym namespace
int main()
{
CPassant::CPassant().setLastID(0);
// doesn't work too:
// unsigned CPassant::LastID = 0;
return 0;
}
感谢
注:我已经看过这些问题的答案,但他们没有工作:
stackoverflow.com/ initialize-a-static-member-an-array-in-c
stackoverflow.com/ how-to-initialize-a-static-member
哦谢谢!我已经尝试过,但是我在main()中写了它。 它现在有效 – Carvallegro
@Hahuha:你在名字空间中定义了它吗? –