我有这个简单的程序:
#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;
}
当我用
编译时clang++ -I/usr/local/include -std=c++11 vec.cpp
我收到此错误:
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;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
删除&#34;包括提升&#34; c ++文件中的行删除了错误。我在OS X 10.10.3上,我使用自制软件安装了boost,如果这有任何区别的话。从我可以看出,似乎提升是将矢量模板覆盖到非标准的东西?我该怎么办?