digitalmars.D.learn - object.Object to void*
- jicman (13/13) Aug 24 2007 Greetings.
Greetings. After upgrading dmd to v1.018, I am getting this error, C:\cygwin\home\us319318\source\d\jic\libs\COM\Object.d(326): Error: cannot implicitly convert expression (value) of type object.Object to void* which worked fine with version 1.009. Here is the code that is causing this problem, static VARIANT opCall(Object value) { VARIANT v; return v.vt = VT_BYREF, v.byref = value, v; } How can I fix this? Sorry if this has been posted before, but I could not find this in digitalmars site. thanks, jic
Aug 24 2007
v.byref = value,v.byref = cast(void*) value, I think you forgot to cast the value.
Aug 25 2007
== Quote from mandel (mandel foobar.com)'s articleThanks.v.byref = value,v.byref = cast(void*) value, I think you forgot to cast the value.
Aug 25 2007
jicman wrote:Greetings. After upgrading dmd to v1.018, I am getting this error, C:\cygwin\home\us319318\source\d\jic\libs\COM\Object.d(326): Error: cannot implicitly convert expression (value) of type object.Object to void* which worked fine with version 1.009. Here is the code that is causing this problem, static VARIANT opCall(Object value) { VARIANT v; return v.vt = VT_BYREF, v.byref = value, v; } How can I fix this? Sorry if this has been posted before, but I could not find this in digitalmars site.According to the changelog, this conversion stopped being implicit in 1.007, so it shouldn't work with 1.009 either. Either cast or compile with -v1 or -d (can't remember which one it is).
Aug 25 2007
== Quote from torhu's articleAccording to the changelog, this conversion stopped being implicit in 1.007, so it shouldn't work with 1.009 either. Either cast or compile with -v1 or -d (can't remember which one it is).1.007, 1.009, 1.018, tomato, toh-mah-toh... :-) Kidding. Ok, thanks, casting it worked. thanks.
Aug 25 2007