Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 隐式使用初始值设定项\u list_C++_C++11_Initializer List - Fatal编程技术网

C++ 隐式使用初始值设定项\u list

C++ 隐式使用初始值设定项\u list,c++,c++11,initializer-list,C++,C++11,Initializer List,§[dcl.初始列表] 8.5.4/2: 模板std::initializer\u list未预定义;如果在使用std::initializer_list之前未包含标题——即使是未命名类型的隐式使用(7.1.6.4)——程序格式错误 这是否意味着该计划的形式不正确 #包括 int main(){ //使用vector::vector(初始值设定项\列表、常量分配器&)构造函数 向量v={1,2,3}; } 您的程序不是格式错误的,因为保证包含(对于所有标准库容器也是如此) §23.3.1[顺序.

§[dcl.初始列表] 8.5.4/2:

模板
std::initializer\u list
未预定义;如果在使用
std::initializer_list
之前未包含标题
——即使是未命名类型的隐式使用(7.1.6.4)——程序格式错误

这是否意味着该计划的形式不正确

#包括
int main(){
//使用vector::vector(初始值设定项\列表、常量分配器&)构造函数
向量v={1,2,3};
}

您的程序不是格式错误的,因为
保证包含
(对于所有标准库容器也是如此)

§23.3.1[顺序.概述]

标题
概要

#include <initializer_list>
...
#包括
...

在标准中搜索
#include
将显示包含的标题以及以下标题


实际上,它不是格式错误的,因为
std::vector
构造函数使用
初始值设定项列表
,所以必须包含在
中。但是,除非在某个地方说明了这种依赖关系,否则形式上的依赖可能是不正确的。原因是标准库可以发挥任何作用,包括依赖于编译器的非标准行为,因此不能认为标准库必须以与自己的代码相同的方式实现。cf@T.C.哈!结果我甚至在这个答案上投了你一票:)。我将把它留给OP来决定它是否是一个复制品,因为这一个是专门关于