【发布时间】:2020-07-29 14:23:50
【问题描述】:
我是新手,我正在对列表、向量等进行一些研究。
[Error] in C++98 'val' 必须由构造函数初始化,而不是由 '{...}'
[错误] 无法将 '{1, 2, 3, 4, 5, 6}' 从 转换为 'std::list'
错误来自以下行:
list<int> val = {1,2,3,4,5,6};
发生这种情况是否有任何原因,或者我只是错过了大局?任何帮助将不胜感激,最亲切的问候!
【问题讨论】:
-
也许您错过了这样一个事实,即您可能正在使用不支持当前 C++ 标准(至少是 C++11)的旧 C++98 编译器(如您的错误中所述),其中是否引入了这种方式的支撑初始化?
-
由于您的编译器知道这是一个现代 C++ 功能(请参阅错误消息中对 C++98 的引用)我猜如果您选择了正确的编译器可以支持此功能编译器选项。
-
-std=c++11在编译命令行中丢失。