digitalmars.D.learn - null this
- Satoshi (15/15) Nov 21 2016 Hello,
 - Satoshi (3/3) Nov 21 2016 cast(ulong)&foo but is not null.
 - rikki cattermole (4/19) Nov 21 2016 Well that code definitely works fine as is.
 - Satoshi (7/22) Nov 21 2016 I had
 
Hello,
how can calling method on local struct throw "null this"?
struct is initialized by .init and have default values.
struct Foo {
Bar bar;
     static struct Bar {
         float x, y, z;
     }
Bar getBar() {
return bar;
}
}
then
Foo foo = Foo.init;
auto b = foo.getBar(); // throw "null this"
 Nov 21 2016
cast(ulong)&foo but is not null. It won't work just in special cases what I cannot reproduce easily.
 Nov 21 2016
On 21/11/2016 11:25 PM, Satoshi wrote:
 Hello,
 how can calling method on local struct throw "null this"?
 struct is initialized by .init and have default values.
 struct Foo {
 Bar bar;
     static struct Bar {
         float x, y, z;
     }
 Bar getBar() {
 return bar;
 }
 }
 then
 Foo foo = Foo.init;
 auto b = foo.getBar(); // throw "null this"
Well that code definitely works fine as is.
Perhaps remove that static, it makes me a little queasy just looking at it.
Also no need to set foo to Foo.init, it already is that value.
 Nov 21 2016
On Monday, 21 November 2016 at 10:25:17 UTC, Satoshi wrote:
 Hello,
 how can calling method on local struct throw "null this"?
 struct is initialized by .init and have default values.
 struct Foo {
 Bar bar;
     static struct Bar {
         float x, y, z;
     }
 Bar getBar() {
 return bar;
 }
 }
 then
 Foo foo = Foo.init;
 auto b = foo.getBar(); // throw "null this"
I had
auto ref getBar() inout {
     return bar;
}
in which was problem. When I separated it into 2 funcs get/set it 
works fine.
 Nov 21 2016








 
 
 
 Satoshi <satoshi gshost.eu> 