when i write a Macro which C++,it precessing error with "the declaration has no storage type" : when i write a Macro which C++,it precessing error with "the declaration has no storage type", and this is my code,what's wrong with is?If i impletment with function,it works well.It doubts me.

    #define FLAG_CLEAR_MUL_BIT(op,beg,end) do{\
	long _dwFlag = 0;\
	for (int _i = 0; _i < end - beg;++_i)\
	{\
		_dwFlag |= (1 << _i);\
	}\
	_dwFlag = _dwFlag << beg;\
	_dwFlag = ~_dwFlag;\	
	op = op & _dwFlag;\ // preprocessing wrong:This declaration has no storage type,if impletment with inline function,it works well
}