I'm not certain if this will make a difference or not (and, obviously,
haven't tried it :) but it might help to remove the void parameter declaration?
void (*gen)();
I compiled (using g++ egcs-2.90.27 980315 (egcs-1.0.2 release) )
a file that had two variables defined, one as you defined your function
pointer and one as I suggested. Neither produced any complaint from the
compiler though.
At 11:30 AM 2/27/99 -0500, you wrote:
>This isn't really a problem, I'm just trying to eliminate all compiler
>warnings. The mud is slowly developing into complete c++ for about a year
>now, and I'm trying to eliminate all compiler warnings possible. Ones that
>I can't seem to get rid of are related to dlsym()... every call to dlsym()
>produces this compiler error:
>
>comm.c: In function int main(int, char **)':
>comm.c:249: warning: ANSI C++ forbids cast to non-reference type used as
>lvalue
>
> void (*gen)(void);
>
> if (!((void*)gen = dlsym(libboot, "boot_world__Fv"))) {
>
>Does anyone know if a better way I can type-cast that or define "gen" so it
>doesn't product a warning?
>
>Thanks,
>Dan.
>
>
> +------------------------------------------------------------+
> | Ensure that you have read the CircleMUD Mailing List FAQ: |
> | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
> +------------------------------------------------------------+
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST