10 24 D:\c++实验专用\实验1.cpp [Error] range-based 'for' loops are not allowed in C++98 mode
时间: 2024-02-17 08:04:58 浏览: 34
抱歉,我的代码可能使用了 C++11 的语法,而你的编译器可能不支持该特性。你可以尝试使用传统的 `for` 循环代替。下面是修改后的 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 (std::list<Obj>::iterator it = objects.begin(); it != objects.end(); ++it) {
std::cout << it->value << std::endl;
}
return 0;
}
```
这个代码定义了一个叫做 `Obj` 的类,它有一个构造函数,接收一个 `int` 类型参数 `value`,并将其存储在实例变量 `value` 中。然后,使用 `std::list` 类创建一个名为 `objects` 的容器,用于存储 `Obj` 类的实例。
接下来,我们使用一个循环,创建了 5 个 `Obj` 类的实例,并将它们添加到 `objects` 列表中。最后,我们使用传统的 `for` 循环遍历 `objects` 列表,打印出每个 `Obj` 类实例的 `value` 属性。
你可以将这段代码复制到 C++ 编译器中编译运行,看看它的输出结果。