opAssign and classes
BCS
BCS at pathilink.com
Sun Dec 24 22:30:36 PST 2006
Bill Baxter wrote:
> I wrote a class with an opAssign.
> But I find I keep getting bitten by this:
>
> MyType x = value;
>
> When I should be typing:
>
> MyType x = new MyType;
> x = value;
>
> Somehow I just keep forgetting to do that.
> Then I get a nice nondescript "Error: Access violation" at some unknown
> point in my program that I have to track down.
>
> Anyone else find themselves making this kind of error?
> Any thoughts for how I or the compiler could help protect against this
> kind of mistake?
>
1> convert a seg-v to an exception (signal ??)
2> implement poor man's stack tracing:
T fn()
{
debug scope(failure) writef(__FILE__":"~itoa!(__LINE__));
...
}
> I thought I could stick a check for 'this is null' in the opAssign
> method but that doesn't help because apparently it's dereferencing the
> null pointer to look up opAssign's address that causes the Error, not
> what happens in the call itself.
>
> --bb
More information about the Digitalmars-d
mailing list