10 23 D:\c++实验专用\实验1.cpp [Error] 'class std::list<Obj>' has no member named 'emplace_back'
时间: 2024-02-17 09:04:55 浏览: 142
实验.cpp
抱歉,我的错。`std::list` 没有 `emplace_back()` 方法,可以使用 `std::list::push_back()` 方法代替。下面是修改后的 C++ 代码:
```c++
#include <iostream>
#include <list>
class Obj {
public:
Obj(int value) : value(value) {}
int value;
};
int main() {
std::list<Obj> objects;
for (int i = 0; i < 5; i++) {
objects.push_back(Obj(i));
}
for (auto& obj : objects) {
std::cout << obj.value << std::endl;
}
return 0;
}
```
这个代码定义了一个叫做 `Obj` 的类,它有一个构造函数,接收一个 `int` 类型参数 `value`,并将其存储在实例变量 `value` 中。然后,使用 `std::list` 类创建一个名为 `objects` 的容器,用于存储 `Obj` 类的实例。
接下来,我们使用一个循环,创建了 5 个 `Obj` 类的实例,并将它们添加到 `objects` 列表中。最后,我们再次使用循环遍历 `objects` 列表,打印出每个 `Obj` 类实例的 `value` 属性。
你可以将这段代码复制到 C++ 编译器中编译运行,看看它的输出结果。
阅读全文