c++ template报错

来源:互联网 发布:hibernate sql注入 编辑:程序博客网 时间:2024/06/05 03:16

一、场景

template<int NT, int VT0>

之前使用的时候都是正常的,然后引入crow库后,

却报出error: expected ‘>’ before numeric constant


二、定位bug

g++ -E 查询模板:

template<int NT, int 0000000>

VT0编程了0000000


三、通过ctags定位VT0

发现VT0有两个文件被定义了:

1./usr/include/x86_64-linux-gnu/bits/termios.h

2./usr/include/asm-generic/termbits.h

均定义了

#define   VT0   0000000


四、

因此当引入这些库的时候需要#undef VT0


原创粉丝点击