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

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


非常感谢

最佳答案

就目前而言,您的代码无法编译。首先,该课程最后需要使用分号

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


其次,vektor的声明不知道trialclass是什么。
这种重新安排解决了问题

class trialclass {
public:
    trialclass();
};

std::vector<trialclass> vektor;

trialclass::trialclass() {
    vektor.push_back(*this);
}


vektor最终为每个构造的trialclass输入一个项目的意义上,这可以编译并“起作用”,但是请注意,这些是trialclass的副本

10-08 13:25