这几天在学习boost的用法,上代码吧
#include <bimap/bimap.hpp>
using namespace boost;
using namespace boost::bimaps;
struct ID
{
};
struct Name
{
};
int main(int argc, char *argv[])
{
bimap<tagged<int,ID>,tagged<int,Name> > bm;//在这里有个特别奇葩的错误 如果这么写代码
//bimap<tagged<int,struct ID>,tagged<int,struct Name> > bm;
//当然上面的定义得取消,不取消的话就不好玩了。然后vs2008的编译器直接error c1001崩溃了。加上上面的定义的话可以正常编译,显然是vc的一个bug
//道理上讲应该报错的。我在vs2010编译也直接崩溃了
return 0;
}
崩溃代码
#include <bimap/bimap.hpp>
using namespace boost;
using namespace boost::bimaps;
//没有了定义....
int main(int argc, char *argv[])
{
bimap<tagged<int,struct ID>,tagged<int,struct Name> > bm;
}