Pointer to member variable again
    ws 
    wisiong at gmail.com
       
    Mon Jul 28 22:33:51 PDT 2008
    
    
  
Maybe i should have written it this way:
int function() fp;
int delegate() dp;
int *ptr;
class Cls
{
  int k;
  int foo()  { return k; }
}
void main()
{
  fp = &Cls.foo;
  assert(fp() == 0);
  Cls c = new Cls;
  dp = &c.foo;
  ptr = &c.k;
	
  assert(is(typeof(ptr) == int*));
  assert(is(typeof(fp) == int function()));
  assert(is(typeof(dp) == int delegate()));
}
Notice fp can be used without an instance of Cls.
What i need is actually a way to get the type of the class when i reference the variable k, without actually creating an instance of the class. 
Something like this:
typedef GetClass!(Cls.k) classType;
assert(is(typeof(classtype) == class) && is(typeof(classtype) == Cls));
Is there a way to do it?
    
    
More information about the Digitalmars-d-learn
mailing list