“没有重载函数需要21个参数”

时间:2016-04-22 16:00:22

标签: c++ compiler-errors

我在MSVS 2015中编写了一个程序,但我需要在MSVS 2013中运行它。

我收到错误

  

“错误1错误C2661:'std :: vector> :: vector':   没有重载功能需要21   arguments \ vmwfil04 \ students $ \ 1302273 \ visual studio   2013 \ projects \ dartsc ++ 2013 \ dartsc ++ 2013 \ gui.h 22 1“

这个问题影响了我在运行之前创建的所有向量。

导致这种情况的原因是什么?

违规代码:

vector<int> Double{ 0, 40, 2, 36, 8, 26, 12, 20, 30, 4, 34, 6, 38, 14, 32, 16, 22, 28, 18, 24, 10 };
vector<int> Normal{ 0, 20, 1, 18, 4, 13, 6, 10, 15, 2, 17, 3, 19, 7, 16, 8, 11, 14, 9, 12, 5 };
vector<int> Treble{ 0, 60, 3, 54, 12, 39, 18, 30, 45, 6, 39, 9, 57, 21, 48, 24, 33, 42, 27, 36, 15 };
vector<int> Bull { 0, 25, 50};

2 个答案:

答案 0 :(得分:0)

这些列表初始化程序的支持在VS 2015中是新的。它在VS 2013中不存在。所以你不能这样做。

您必须改为the old-fashioned, C++03 approach

答案 1 :(得分:0)

我认为这是Visual Studio 2013中的一个错误,因为它支持list initializers2013 specific documentation of the functionality)。请尝试将括号括在括号中this answer

e.g。 vector<int> Double({ 0, 40, 2, 36, 8, 26, 12, 20, 30, 4, 34, 6, 38, 14, 32, 16, 22, 28, 18, 24, 10 });