【发布时间】:2012-04-08 18:18:42
【问题描述】:
我不知道这段代码有什么问题。我有以下非常简单的类:
class SetOfCuts{
public:
static LeptonCuts Leptons;
static ElectronCuts TightElectrons;
static ElectronCuts LooseElectrons;
//***
//more code
};
例如,ElectronCuts 类型之前在同一个 .h 文件中定义为:
struct ElectronCuts{
bool Examine;
//****
//other irrelevant stuff
};
我想没什么太复杂的。
我的理解是,在主程序中,我可以做到:
SetOfCuts::LooseElectrons.Examine = true;
但如果我这样做,我会得到:
undefined reference to `SetOfCuts::LooseElectrons'
如果我这样做:
bool SetOfCuts::LooseElectrons.Examine = true;
我明白了:
error: expected initializer before '.' token
我不知道为什么我不能访问结构的成员。我遗漏了一些关于静态数据成员的明显内容,但我不知道它是什么。
非常感谢。
【问题讨论】:
标签: c++ static class-members