使用std :: deque <std :: string> </std :: string>时出错

时间:2014-01-13 19:09:11

标签: c++ string deque

当我在课堂上使用std :: deque作为私人成员时,我会遇到很多错误,例如

/usr/include/c++/v1/deque:907:49: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >' static const difference_type __block_size = sizeof(value_type) < 256 ? 4096 / sizeof(value_type) : 16;

/usr/include/c++/v1/deque:1181:30: error: '__alloc_traits' is a protected member of 'std::__1::__deque_base<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >' typedef typename __base::__alloc_traits __alloc_traits;

等等。

当我使用矢量时它可以工作,但我想要一个pop_front功能。

有什么想法吗?

编辑:
代码:

#include <deque>
class Example {
    public:
        Example() {}
        ~Example() {}
    private:
        std::deque<std::string> m_deque;
};

1 个答案:

答案 0 :(得分:5)

您必须加入#include <string>