我正在为一个项目编写一个模块,我希望界面尽可能简单。我想在构造对象时将它们存储在向量中。也就是说,这只是我一直在尝试使用方法和独立函数的许多不同方式,使用静态声明,但没有一个有效;
vector<trialclass> vektor;
class trialclass {
public:
trialclass() {
vektor.push_back(*this);
}
}
非常感谢
我正在为一个项目编写一个模块,我希望界面尽可能简单。我想在构造对象时将它们存储在向量中。也就是说,这只是我一直在尝试使用方法和独立函数的许多不同方式,使用静态声明,但没有一个有效;
vector<trialclass> vektor;
class trialclass {
public:
trialclass() {
vektor.push_back(*this);
}
}
非常感谢
就目前而言,您的代码无法编译。首先,该类在末尾需要一个分号
vector<trialclass> vektor;
class trialclass {
public:
trialclass() {
vektor.push_back(*this);
}
};
^^^
其次,声明 ofvektor
不知道 atrialclass
是什么。这种重新排列解决了这个问题
class trialclass {
public:
trialclass();
};
std::vector<trialclass> vektor;
trialclass::trialclass() {
vektor.push_back(*this);
}
从某种意义上说,这会编译并“起作用”,vektor
每个构造的最终都会有一个项目trialclass
,但请注意,这些是trialclass