STL:容器的容器

时间:2013-10-18 06:29:26

标签: c++ stl

我是菜鸟,但我知道数据类型容器包含什么并不重要。 所以这就是我想要做的事情:

std::deque<list<U32> >     ReqLis;

接下来的结果是:

error: ISO C++ forbids declaration of 'deque' with no type
error: invalid use of '::'
expected ';' before '<' token

但是当我尝试这样做而不是它时:

std::list<list<U32> >      ReqList;

没关系..................

问题是我是如此伟大的菜鸟还是编译器失败了? 我正在使用gcc / g ++

3 个答案:

答案 0 :(得分:3)

你能列出所有代码吗?代码中名称空间的使用有点松散。

单独标题cpp reference

中的双端队列
#include <deque>

答案 1 :(得分:3)

没有名为U32的标准类型,但是如果#include(对于C的stdint.h)你可以使用std :: uint32_t1,一个32位无符号整数,这是(我假设)你想要的。

首先应该为用户u32

包含此头文件
   #include <cstdint>

   std::deque<std::list<std::uint32_t>> ReqList;

答案 2 :(得分:2)

添加以下内容:

#include <list>
#include<deque>
#include<stdint.h>
     std::deque<uint32_t> ReqList;



  #include<deque> is for deque data type
  #include<list>  is for list data type
  #include<stdint.h> is for uint32_t (Integer type with a width of exactly 8, 16, 32, or  
                     64 bits.For signed types, negative values are represented using 2's 
                     complement.