I'm trying to pass a vector by reference into a different function, but it gives me several errors
The data i'm trying to pass into the "XORLogic" function is the sum of a vector.
#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;
}
With vector it says "class std::vector TEMPLATE CLASS Type not allowed"
and at Input1 it says "expected a ')' "
What am i doing wrong here?, why won't it work?