comparing typedefed type to null

Rick Mann rmann-d-lang at latencyzero.com
Thu Mar 1 16:40:03 PST 2007


In writing code against the Mac OS X Carbon API, I often have a need to do this:

struct __Foo {};
typedef Foo*   FooRef;
typedef FooRef     BarRef;

{
  BarRef br = ...;
  FooRef fr = ...;
  if (br == null)  {} // complain
  if (fr == null) {} ok

GDC 0.22/DMD 1.004 complains about the comparison to br: "Error: incompatible types for ((br) == (null)): 'BarRef' and 'void*'

I can avoid it by aliasing BarRef instead of typedefing it, but I have the need to allow a BarRef to be passed to FooRef parameters, but not the other way around. The typedef gives me that.


More information about the Digitalmars-d-learn mailing list