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?
