繁体   English   中英

使用std :: vector不起作用

[英]Using std::vector does not work

为什么以下代码无法编译,

#include <vector>
using std::vector;
vector<int> v; // Error: too few template arguments, expected 2

但是使用map (和pairset ,...)而不是vector使用相同的代码呢?

#include <map>
using std::map;
map<int, int> m; // OK

而且此代码也可以正常工作:

#include <vector>
using namespace std;
vector<int> v; // OK

我知道std::vector构造函数有两个参数(类型和分配器),但是为什么vector行为与其他容器有很大不同?

UPD:对不起,这是我的错误。 实际上,代码确实可以编译,但是CLion将其标记为错误。 因此,这是CLion的错误。 在此处输入图片说明

它尚未修复CLion错误: https ://youtrack.jetbrains.com/issue/CPP-5758#u=1454575544687。

作为一种解决方法,您可以尝试使用libstdc ++而不是libc ++,请参阅https://youtrack.jetbrains.com/issue/CPP-5758#comment=27-2389700

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM