STL C 中不同类型的列表声明的错误
Error for different type of list declaration in STL c++
list<int>L[]=new list<int>[20];
这给出了一个错误"数组初始化器必须是初始化器 列表"初始化列表有什么问题:
list<int> L[100];
也确实列表[] l表示任何东西
list<int> *L=new list<int>[20]
为什么这起作用?
请给我每种情况的简短解释,因为我是新手STL
new list<int>[20]
动态分配20个 list<int>
对象的数组,并返回一个list<int>*
指针。因此,您需要一个list<int>*
变量才能接收该指针:
list<int> *L = new list<int>[20];
...
delete[] L;
list<int> L[]
不声明指针,它声明了一个未指定大小的静态数组。您唯一可以分配的是包含所需数组元素的初始化列表,因此编译器可以推断数组的大小:
list<int> L[] = {a_list_object, another_list_object, ...};
list<int> L[100];
声明100 list<int>
对象的静态数组。不涉及指针。
相关文章:
- emplace_back初始化列表错误,当初始化列表在独立变量上工作时
- GDB 列表错误"No such file or directory"
- 数组初始值设定项必须是初始值设定项列表错误未显示
- 成员初始值设定项列表错误的统一初始化
- C 模板二进制搜索树 - 参数列表错误
- 链接列表错误 - 为什么头和尾引用指向相同地址
- 没有与参数列表错误匹配的重载函数" "实例
- C 链接列表错误:lvalue作为分配的左操作数所需
- 嵌套模板列表错误
- 邻接列表错误与列表
- 函数调用缺少参数列表错误
- 迭代子类列表错误
- gcc 中的初始化列表错误
- 转到下一个节点的C++链接列表错误
- 奇怪的模板参数列表错误太少
- 链接列表错误,c++
- c++循环列表错误
- Coderunner 2 -初始化列表错误- c++ 11
- 没有函数模板实例匹配参数列表错误
- 删除列表错误中的最后一个节点