金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
#include "stdafx.h"

#include 
<vector>
#include 
<boost/pool/pool.hpp>

int _tmain(int argc, _TCHAR* argv[])
{
    std::vector
<int, boost::pool_allocator<int>> v;
    
return 0;
}

编译报错:

d:\program files\microsoft visual studio 10.0\vc\include\vector(421): error C2903: 'rebind' : symbol is neither a class template nor a function template

怀疑是pool_allocator与Vc的STL不兼容。

后来发现是应该使用pool_alloc.hpp头文件才行:

#include <boost/pool/pool_alloc.hpp>

Boost文档仅假定

// Include all of Pool files
#include <boost/pool.hpp>
实际上,boost/pool.hpp 不存在。

感叹模板类的编译错误信息太没头绪。

后来发现其中有一行错误:

d:\program files\microsoft visual studio 10.0\vc\include\vector(421): error C2027: use of undefined type 'boost::pool_allocator<T>'

为了这一行错误,总的出错报告接近400行。

posted on 2013-09-18 11:03 金庆 阅读(710) 评论(0)  编辑 收藏 引用 所属分类: 1. C/C++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理