Allora, ho controllato un po il codice...
La cosa strana e' che la funzione setValue() non funziona solo quando la chiamo all'interno della classe NeuralNet mentre se la chiamo da altre classi che contengono al loro interno oggetti Neuron funziona.
Quei valori strani che vi ho mostrato prima erano solamente perche' la variabile non era settata, ma impostando per la variabile un valore di default tipo 0 essa continua a mantiene il valore di default anche dopo la chiamata a setValue(); di conseguenza che sia proprio setValue() a non settare bene la variabile, sebbene se metto al suo interno un cout e mi faccio stampare la variabile appena modificata il valore risulti corretto...
Non so piu' che fare -.-
Sono sicuro che e' uno di quegli errori stupidi che poi si correggono da soli quando riscrivi il codice da capo per la disperazione anche se quello che hai riscritto e' in fin dei conti lo stesso...