Accessing members of an array of a class with map.
Ave via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Sep 30 12:04:11 PDT 2016
An example of what I'm trying to do:
import std.stdio;
import std.container;
import std.algorithm;
class Aa
{
Array!B arrB;
}
class Bb
{
string name;
}
void main()
{
Aa test;
auto c=new Bb;
c.name="asdf";
test.arrB.insert(c);
auto d=new Bb;
d.name="1234";
test.arrB.insert(d);
writeln(test.arrB[].map!(x=>x.name);
}
I was able to get this to compile,but it segfaults.
If I do this however:
import std.stdio;
import std.container;
import std.algorithm;
class Bb
{
string name;
}
void main()
{
Array!B arrB;
auto c=new Bb;
c.name="asdf";
arrB.insert(c);
auto d=new Bb;
d.name="1234";
arrB.insert(d);
writeln(arrB[].map!(x=>x.name);
}
It will compile and work without seg faulting. What am I doing
wrong in my first case that's causing the program to seg fault?
More information about the Digitalmars-d-learn
mailing list