创建我的第一个矢量时出错[Visual studio 2013]

我正在学习C编程语言,我的第一个向量有问题 . 如果我按照书中的例子(使用C编程原则和实践),这是一个例子:

vector<int> v = { 5, 7, 9, 4, 6, 8 };

在这里我的编译器说:Errore 1错误C2440:'初始化':无法从'initializer-list'转换为'Vector'c:\ users \ pierob \ documents \ visual studio 2013 \ projects \ learnprogramming \ learnprogramming \ main.cpp 7 1学习编程

你能帮我吗 ?我有visual studio 2013 express(我使用visual C编译器2013年11月ctp) .

回答(2)

2 years ago

错误消息指出 Vector ,而不是 vector ,因此对于您实际编译的代码看起来很可疑 .

使用 Visual Studio 2013 Update 3 ,以下编译0错误:

#include <vector>

int main()
{
    std::vector<int> v = { 5, 7, 9, 4, 6, 8 };
}

输出:

1>  main.cpp
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

请复制上面的代码并编译它以确保它没有错误 .

2 years ago

在第99行(对我来说)std_lib_facilities.h头文件是一个显然令人厌恶的宏hack来获取范围检查向量,说:

#define vector Vector

我把它改为:

#define vector vector

和你的代码:

vector<int> v = { 5, 7, 9, 4, 6, 8 };

似乎按预期工作 .