我不知道如何初始化一個靜態類成員而不創建這個類的對象。 這裏是我的代碼: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:你在名字空間中定義了它嗎? –