我试图通过引用将一个向量传递给另一个函数,但它给了我几个错误
我试图传递到“XORLogic”函数的数据是向量的总和。
#include <iostream>
#include <vector>
#include <numeric>
#include <functional>
using std::vector;
// Expected Output
int XORLogic(vector<int> &Input1, int x)
{
if (std::accumulate(Input1.begin(), Input1.end(), 0) == 0 || 2)
{
x = 0;
}
else if (std::accumulate(Input1.begin(), Input1.end(), 0) == 1)
{
x = 1;
}
return x;
}
// Sigma notation
float SumUp(float Input, float Weight)
{
float Summ = 1 + (Weight * Input);
return Summ;
}
// Sigmoid function.
float Sigmoid(float Summ)
{
float SigmoidOutput = 1 / (1 + exp(-Summ));
return SigmoidOutput;
}
// Hidden neuron
float Hidden(int x, float y, float Summ)
{
SumUp(x, y);
float Summ2 = Sigmoid(Summ);
float Summ3 = Summ2 * 2;
return Summ3;
}
// Output neuron
float Output(float Summ3, float BeginOutput)
{
BeginOutput = Sigmoid(Summ3);
return BeginOutput;
}
// Main function
int main()
{
vector< vector <int> > TrainingData;
vector<int> TrainingData1;
vector<int> TrainingData2;
vector<int> TrainingData3;
vector<int> TrainingData4;
TrainingData1.push_back(1);
TrainingData1.push_back(0);
TrainingData2.push_back(0);
TrainingData2.push_back(1);
TrainingData3.push_back(1);
TrainingData3.push_back(1);
TrainingData4.push_back(0);
TrainingData4.push_back(0);
TrainingData.push_back(TrainingData1);
TrainingData.push_back(TrainingData2);
TrainingData.push_back(TrainingData3);
TrainingData.push_back(TrainingData4);
system("PAUSE");
return 0;
}
float BackProp(float BeginOutput)
{
int ExpectedOutput = XORLogic(vector<int> Input1);
float error = BeginOutput - ExpectedOutput;
}
用vector表示“class std :: vector TEMPLATE CLASS Type not 允许“
并且在Input1处它表示“预期a')'”
我在这里做错了什么?为什么它不起作用?
答案 0 :(得分:-1)
对不起伙计啊。 我现在看到一个简单的谷歌搜索就可以完成它了。
我并不是故意粗鲁,但我感到沮丧,因为我不理解你们在评论中给我的答案。
如果有人想要这个问题的答案,请点击此链接:
http://www.cplusplus.com/forum/beginner/21957/
有一个好的。