嗨,我正在解决一些C ++问题,我对这种语言不熟悉。
我正在尝试使用以下语法初始化std :: pair,double>:
std::pair<std::vector<int>, double> output = { {}, 0.0f };
在Ubuntu 16.04上的gcc 5.4.0生成此错误:
no known conversion for argument 1 from ‘std::pair<std::vector<int>, double>’ to ‘std::initializer_list<int>
如果使用以下语法,则会发生相同的错误:
std::pair<std::vector<int>, double> output{{}, 0.0f };
出了什么问题?
答案 0 :(得分:1)
您正在使用扩展的初始化程序列表(std::initializer_list),该列表自C ++ 11起可用。
对于gcc 5.4.0编译器,您需要使用C ++ 11标志对其进行编译:
ignoreNULL