1

我正在为一个项目编写一个模块,我希望界面尽可能简单。我想在构造对象时将它们存储在向量中。也就是说,这只是我一直在尝试使用方法和独立函数的许多不同方式,使用静态声明,但没有一个有效;

vector<trialclass> vektor;
class trialclass {
public:
    trialclass() {
        vektor.push_back(*this);
    }
}

非常感谢

4

1 回答 1

0

就目前而言,您的代码无法编译。首先,该类在末尾需要一个分号

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

于 2013-08-22T09:14:19.007 回答