#define TRUE 1
#define FALSE 0
#define POW2(X) (X)&(X-1)?(TRUE):(FALSE)
这三句换成
#define POW2(X) (X)&(X-1)?(true):(false)
就可以在c++里面用了,要注意大小写,c++中的布尔型所有字母都是小写.
我前面的程序没调试过,看了看的确反了,原因是我想当然的以为上面的宏定义中,TRUE表示的是2的幂,而FALSE表示不是2的幂.谁知道刚好反过来了

从BFS(Breadth First Study)到DFS(Depth First Study)
学习VIM中,欢迎访问我的blog http://hi.baidu.com/newkedison
严重鄙视一切把论坛当成作业生成器和人肉搜索引擎的人