【发布时间】:2022-01-08 01:46:28
【问题描述】:
我有一个 uni 项目,我必须使用向量创建 3 个对象(唯一指针)。 这段代码我做错了什么? 如果你能帮我解决这个问题,我会很高兴。
void vAufgabe_1a() {
const int num_obj = 3;
for (int i = 0; i != num_obj; i++) {
auto FZ[i] = make_unique<Fahrzeug>(); // FZ[i] doesn't work here.
FZ[i].push_back(move(make_unique <Fahrzeug>));
cout << "Der Name des Fahrzeugs: " << endl;
cin << FZ[i]->p_sName;
}
}
【问题讨论】:
-
std::vector<std::unique_ptr<Fahrzeug>> FZ;应该在循环之外。 -
std::move在std::move(std::make_unique<Fahrzeug>())中没用。 (std::move(FZ[i])可能需要它)。
标签: c++ vector unique-ptr