提升导致"类模板'矢量'的模板参数太少"

Tho*_*son 6 c++ boost

我有这个简单的程序:

#include <vector>
#include <iostream>
#include "boost/unordered_map.hpp"

int main() {
    std::vector<unsigned char> v;
    v.push_back('a');
    std::cout << "Hello " << v[0] << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

当我编译时

clang++ -I/usr/local/include -std=c++11 vec.cpp
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

vec.cpp:6:10: error: too few template arguments for class template 'vector'
    std::vector<unsigned char> v;
         ^
/usr/local/include/boost/detail/container_fwd.hpp:86:47: note: template is declared here
    template <class T, class Allocator> class vector;
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       ^
Run Code Online (Sandbox Code Playgroud)

从c ++文件中删除"include boost"行会删除错误.我在OS X 10.10.3上,我使用自制软件安装了boost,如果这有任何区别的话.从我可以看出,似乎提升是将矢量模板覆盖到非标准的东西?我该怎么办?