Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 05/06/2018 at 22:15, xxxxxxxx wrote:
User Information: Cinema 4D Version: 14+ Platform: Language(s) : C++ ;
--------- Hello,
I want to modify a BaseArray inside a function and return it. If I try to return the same BaseArray I get an error that it is inaccessible. For example (pseudo code) :
// Define the BaseArray maxon::BaseArray<Float> myFloats; myFloats.Resize(10); // Use the BaseArray in a function maxon::BaseArray<Float> myFunction(&myFloats) { for (Int32 i=0; i<myFloats.GetCount(); i++) { myFloats[i] = i; } return myFloats; // --------> this does not work }
Any ideas?
On 06/06/2018 at 01:33, xxxxxxxx wrote:
Hi Salozo,
First of all the code, you show us is a bit weird. If you only want to modify the BaseArray, since you pass a reference you just have to modify it without the need to return it. Actually, the error comes from the fact that you are returning a new BaseArray. So you copy the existing BaseArray. And BasseArray doesn't have a Copy Constructor.
But if you really want to have a new BaseArray, you have to create a new BaseArray, then use newArray.CopyFrom(myFloats) and finally, return a reference/pointer to this array.
Cheers, Maxime