undefined identifier
Oleg
code.viator at gmail.com
Thu Oct 18 03:06:53 PDT 2012
Hello
I have struct in one module (vector.d)
struct vec(string S, T=double)
if( is(T:real) && onlyASCII(S) )
{
private T[S.length] _data;
alias vec!(S,T) ttype;
alias _data this;
mixin _workaround4424;
auto opAssign(E)( E[] b ) if( is( E : T ) )
{
if( b.length != S.length ) throw new Exception("bad
length");
foreach( i, ref m; _data ) m = b[i]; return this;
}
auto opAssign(E)( E[S.length] b ) if( is( E : T ) )
{ foreach( i, ref m; _data ) m = b[i]; return this; }
}
and I want to use this in other module
struct mPoint(string S,T=double)
{
alias vec!(S,T) vect;
private union
{
T[S.length*2] _raw;
vect[2] _vects;
}
alias _raw this;
@property vect pos(){ return _vects[0]; }
@property void pos( vect b ){ _vects[0] = b; } //#1
@property vect vel(){ return _vects[1]; }
@property void vel( vect b ){ _vects[1] = b; } //#2
}
when compile I have error
#1 Error: undefined identifier '_data'
#2 Error: undefined identifier '_data'
why code in mPoint want use identifier _data?
unittests in vector.d use all of overriding operators well.
may it associate with aliasing of vec to array?
or it associate with overriding opAssign?
More information about the Digitalmars-d-learn
mailing list