3 dimension arrays

Andrey via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Feb 26 12:01:50 PST 2015


HI guys!!!

Have a problem with 3d array memory allocation in next code:

//////////////////////////////////////////////////////////
class NeuronNet(T, const uint layersNum)
{
	T[]					_inputs;
	T[][layersNum - 2]	_hidden;
	T[]					_outputs;
	T[]					_target;

	//waights [col][row][dimension]
	T[][][layersNum - 1] _waightsArray;

	this(in uint[] nodesArr)
	{
		//values init
		_inputs = new T[nodesArr[0]];
		_outputs = new T[nodesArr[$-1]];

		for(uint j = 0; j < layersNum - 2; j++)
		{
			_hidden[][j] = new T[nodesArr[j + 1]];
		}
		//waights init
		for(uint i = 0; i < layersNum - 1; i++)
		{
			_waightsArray[][][i] = new T[][nodesArr[1+i]];
			for(uint ii = 0; ii < nodesArr[1+i]; ii++)
			{
				_waightsArray[][ii][i] = new T[nodesArr[i]];
			}
		}
	}
}
//////////////////////////////////////////////////////////

debuger shows array range boundary error in line
				_waightsArray[][ii][i] = new T[nodesArr[i]];

Help me please if any one knows




More information about the Digitalmars-d-learn mailing list