On 07/12/2014 12:19 PM, seany wrote:

> On Saturday, 12 July 2014 at 19:16:52 UTC, Danyal Zia wrote:
>> On Saturday, 12 July 2014 at 19:09:44 UTC, seany wrote:

>>>    arc!(string, string[]) * a;
>>>    a.some_var = "hello";

>> "a" has not been instantiated. You are declaring it as a pointer to
>> struct and using its fields without initializing it. "arc!(string,
>> string[]) a;" will work.
>
> For reasons further down in the software, I need to do this with a
> pointer. How do I do it with a pointer, please?

By making that pointer point to an actual object. :)

    arc!(string, string[]) * a = new arc!(string, string[])();

Shorter syntax:

    auto a = new arc!(string, string[]);

You can assign it later as well:

    arc!(string, string[]) * a;
    // ...
    a = new arc!(string, string[])();

Preferably, don't assign to the member but construct when the information is available:

    auto a = new arc!(string, string[])("hello",
                                        ["merhaba", "hola", "bonjour"]);

Ali

Reply via email to