On 01/17/2012 12:49 AM, Matej Nanut wrote:
Hey everyone,

I, once again, have a problem with an error I can't seem to figure out!

The situation:
- a class, inherited by five other classes;
- the class having a static function which returns one
   if its subclasses depending on the input of a string.

Something like this:

class Node
{
   static Node parse(ref string s)
   {
     /* Get value to switch by, an enum. */
     auto switchable = /* ... */;
     final switch (switchable)
     {
       case Blah.one: return new OneNode(s);
       case Blah.two: return new TwoNode(s);
     /* ... */
     }
   }
}

And I get the mentioned error. I don't understand it:
is it saying I'm using `this' in a static member function
called `parse'? Am I insane; where am I referencing it?

The other classes are in this form:

class OneNode : Node
{
   /* ... stuff ... */
   this(ref string s)
   {
     /* Does stuff with `s'. */
   }
}

Do you need more information?

Yes; It is extremely hard to solve the problem when there is no code snippet given which exhibits the problematic behavior in question.

Reply via email to