Layer* NeuralNet::AddLayerAfter(int NeuronCount, Layer* LayerToAddAfter) { //Creates new layer and adds it to the doubly-linked list; Layer* NewLayer = new Layer(this, this->OwnedDNA, LayerToAddAfter->DestinationLayer, LayerToAddAfter); LayerToAddAfter->DestinationLayer->SourceLayer = NewLayer; LayerToAddAfter->DestinationLayer = NewLayer; //creates new neurons for the layer; NewLayer->AddNeurons(NeuronCount); return NewLayer; }