www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - How do you pass in a static array by reference?

reply Enjoys Math <enjoysmath gmail.com> writes:
I have several class members:

Arc[4] arcs;
Arc[4] arcs_2;

and Id like to initialize them with the same function, so how do 
I "pass them in" by reference?
Feb 07 2016
parent reply Jakob Ovrum <jakobovrum gmail.com> writes:
On Monday, 8 February 2016 at 05:59:43 UTC, Enjoys Math wrote:
 I have several class members:

 Arc[4] arcs;
 Arc[4] arcs_2;

 and Id like to initialize them with the same function, so how 
 do I "pass them in" by reference?
void foo(ref Arc[4] arr) { … } The dimension can of course be templatized: void foo(size_t n)(ref Arc[n] arr) { … }
Feb 07 2016
parent Jakob Ovrum <jakobovrum gmail.com> writes:
On Monday, 8 February 2016 at 06:01:24 UTC, Jakob Ovrum wrote:
 On Monday, 8 February 2016 at 05:59:43 UTC, Enjoys Math wrote:
 I have several class members:

 Arc[4] arcs;
 Arc[4] arcs_2;

 and Id like to initialize them with the same function, so how 
 do I "pass them in" by reference?
void foo(ref Arc[4] arr) { … } The dimension can of course be templatized: void foo(size_t n)(ref Arc[n] arr) { … }
Alternatively you can take a slice of the fixed-length array: void foo(Arc[] arr) { … } foo(arcs[]); foo(arcs_2[]);
Feb 07 2016