On Thu, May 8, 2008 at 12:39 PM, Dario Freddi <drf54321@gmail.com> wrote:
Hello, I know this might look as a stupid question, though I can't manage to use multiple flags, just as pacman does. This bunch of code:
pmtransflag_t flgs = PM_TRANS_FLAG_NOSCRIPTLET;
flgs |= PM_TRANS_FLAG_FORCE;
Simply doesn't compile, returning:
/home/drf/Development/shaman/trunk/shaman/src/AlpmHandler.cpp: In member function 'bool AlpmHandler::initTransaction(pmtranstype_t, pmtransflag_t, bool)': /home/drf/Development/shaman/trunk/shaman/src/AlpmHandler.cpp:155: error: invalid conversion from 'int' to 'pmtransflag_t'
Though, pacman just does it this way, so I can't get where I am wrong. Any help would be appreciated.
Looks like that's C++ yelling at you. You'll need to throw casts at it, but I'm not sure where. Try: pmtransflag_t flgs = PM_TRANS_FLAG_NOSCRIPTLET; flgs |= (pmtransflag_t)PM_TRANS_FLAG_FORCE; or, alternatively, define a global operator |=(pmtransflag_t, int)