我正在摆脱我的常规领域来做到这一点,而且我遇到了一些愚蠢的复杂情况。我已经声明了一个具有变量“int activacion”的类,然后我创建了另一个具有前一种类型对象向量的类。然后我做了另一个类,它有一个最新的向量。如果我无法继续,我会发现它完全正常,但问题是我在使用 getValue() 读取值时没有遇到问题,而且我似乎无法使用同一行更改它带有 setValue() 的代码;
getElementoVectorCapas(i).getElementoVectorNeuronas(j).getActivacion()<<endl;
这行得通。
getElementoVectorCapas(1).getElementoVectorNeuronas(0).setActivacion(1);
这没有。这就像价值是固定的。它可以编译,它只是不改变值。提前致谢。我只剪切并粘贴了似乎相关的部分。仅在签名上添加 & 符号不会让我编译。
class CNeurona{
private:
int activacion;
public:
void setActivacion(int x){
activacion = x;
}
int getActivacion(){
return activacion;
}
};
class CCapa{
private:
std::vector<CNeurona> vectorNeuronas;
public:
CCapa(int i_numNeuronas, int i_numeroInputsPorNeurona){
setNumNeuronas(i_numNeuronas);
for(c=0;c<i_numNeuronas;c++){
vectorNeuronas.push_back(CNeurona(i_numeroInputsPorNeurona));
}
}
CNeurona getElementoVectorNeuronas(int x){
return vectorNeuronas[x];
}
};
class CRed{
private:
std::vector<CCapa> vectorCapas;
public:
void setVectorEntrada(){
for(j=0;j<numNeuronasEntrada;j++){
cout<<"Introduce activaciones de capa de entrada, N"<<j<<": "<<endl;
cin >> i;
getElementoVectorCapas(0).getElementoVectorNeuronas(j).setActivacion(i);
}