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> 