Help to "set" callback

Robert Ayrapetyan robert.ayrapetyan at comodo.com
Sat Oct 16 15:50:44 CEST 2010


Hello.

While compiling source using Solaris's CC I'm getting following error:
line 30: Error: Could not find a match for ev::base<ev_io,
ev::io>::set(CTrans*) needed in CTrans::Foo().

line 30: tp_->ev_read()->set<CTrans, &CTrans::ReadCb> (this);

Same code compiles and works without errors using gcc.

Also, ev++.h itself contains a "bug" (CC thinks so at least):
  enum
  {
    UNDEF    = EV_UNDEF,
    NONE     = EV_NONE,
    READ     = EV_READ,
    WRITE    = EV_WRITE,
    TIMEOUT  = EV_TIMEOUT,
    PERIODIC = EV_PERIODIC,
    SIGNAL   = EV_SIGNAL,
    CHILD    = EV_CHILD,
    STAT     = EV_STAT,
    IDLE     = EV_IDLE,
    CHECK    = EV_CHECK,
    PREPARE  = EV_PREPARE,
    FORK     = EV_FORK,
    ASYNC    = EV_ASYNC,
    EMBED    = EV_EMBED,
#   undef ERROR // some systems stupidly #define ERROR
    ERROR    = EV_ERROR
  };

contains ERROR, which is 0x80000000, which is
/libev-3.9/ev++.h", line 80: Error: ev::enum is not within the range
of a long or unsigned long.



More information about the libev mailing list