I will try to remove all snippets in my code that aren't relevant but still exhibit the issue, when I find the time. What I forgot to mention is that this error appeared when I did some so-called "refactoring"; I moved a nested class out of its parent, since I wanted it visible on the outside.
I moved it back now and reference it by Parent.Child.<stuff>, which is just as good, and the error isn't there anymore, but I still don't understand it. I must have missed some variable renaming or something. Or I was just plain sloppy. As mentioned I will post a complete snippet with the error sometime until friday. On 17 January 2012 02:33, Timon Gehr <timon.g...@gmx.ch> wrote: > 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. >