Help to "set" callback

Marc Lehmann schmorp at
Sat Oct 16 23:05:20 CEST 2010

On Sat, Oct 16, 2010 at 04:50:44PM +0300, Robert Ayrapetyan <robert.ayrapetyan at> wrote:
> 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.

I guess that means you should g++, as it has much better c++ support.

> Also, ev++.h itself contains a "bug" (CC thinks so at least):

Libev requires a moderately modern c++ implementation.

> 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.

Thats simply a compiler bug, 0x80000000 of course fits into an unsigned
long on any platform, you should report this to your vendor and demand a
working compiler :)

Or switch to the gcc, higher quality for free.

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list