digitalmars.D.learn - struct requiring this access for template?
- mgen (41/41) Nov 15 2008 I encountered an odd error while using template, it reduced to this... a...
I encountered an odd error while using template, it reduced to this... and I
was wondering whats going on.
//Regex.d(20): Error: need 'this' to access member x
module templating;
import tango.io.Stdout;
public class TemplatedClass
{
const char[] pattern;
public this(char[] pattern){this.pattern=pattern;}
public char[] x()
{
return this.pattern;
}
}
public static TemplatedClass Templated()(char[] pattern)
{
return new TemplatedClass(pattern);
}
public static TemplatedStruct Templated(char[] pattern)()
{
return TemplatedStruct(pattern);
}
public struct TemplatedStruct
{
const char[] x;
}
void main(char[][] args)
{
TemplatedStruct x = Templated!("123");
auto xCheck = Templated!(x.x);//Causes problems?
auto y = Templated(args[1]);
auto yCheck = Templated(y.x);//OK
//Check if we got the right types...
Stdout("x : ")(typeid(typeof(x))).newline;
Stdout("y : ")(typeid(typeof(y))).newline;
Stdout("--BEGIN--").newline;
Stdout(x.x).newline;
Stdout(y.x).newline;
Stdout("--END--").newline;
}
Nov 15 2008








mgen <bmeck stedwards.edu>