我有一个 Visual Studio 2008 C++03 应用程序,我想在其中使用 boost::lambda 来执行此操作:
enum { fooflag = 0x00000001; }
bool IsFooFlagActive( DWORD flags )
{
return ( flags & fooflag ) != 0;
}
不幸的是,这不起作用:
namespace bl = boost::lambda;
bool is_foo_flag_active = ( ( bl::_1 & fooflag ) != 0 )( 0x00000001 );
什么是让 boost::lambda 执行复合表达式的正确方法?我需要绑定 != 运算符吗?
谢谢