Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何通过引用将向量作为参数传递到不同的函数中?_C++_Function_Vector_Neural Network_Arguments - Fatal编程技术网

C++ 如何通过引用将向量作为参数传递到不同的函数中?

C++ 如何通过引用将向量作为参数传递到不同的函数中?,c++,function,vector,neural-network,arguments,C++,Function,Vector,Neural Network,Arguments,我试图通过引用将一个向量传递到另一个函数中,但它给了我几个错误 我试图传递给“XORLogic”函数的数据是一个向量的和 #include <iostream> #include <vector> #include <numeric> #include <functional> using std::vector; // Expected Output int XORLogic(vector<int> &Input1, int

我试图通过引用将一个向量传递到另一个函数中,但它给了我几个错误

我试图传递给“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;

}
#包括
#包括
#包括
#包括
使用std::vector;
//预期产量
int XORLogic(向量和输入1,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;
}
返回x;
}   
//西格玛符号
浮子汇总(浮子输入、浮子重量)
{
浮点数总和=1+(重量*输入);
返回总和;
}
//S形函数。
浮点S形(浮点总和)
{
浮点SigmoidOutput=1/(1+exp(-sum));
返回乙状结肠输出;
}
//隐神经元
浮点隐藏(整数x、浮点y、浮点总和)
{ 
总结(x,y);
浮点总和2=乙状结肠(总和);
浮动总和3=总和2*2;
返回和3;
}
//输出神经元
浮点输出(浮点求和3,浮点开始输出)
{
开始输出=乙状结肠(Summ3);
返回起始输出;
}
//主要功能
int main()
{
向量<向量>训练数据;
向量训练数据1;
向量训练数据2;
向量训练数据3;
向量训练数据4;
培训数据1.推回(1);
训练数据1.向后推_(0);
训练数据2.推回(0);
培训数据2.推回(1);
培训数据3.推回(1);
培训数据3.推回(1);
训练数据4.推回(0);
训练数据4.推回(0);
培训数据。推回(培训数据1);
培训数据。推回(培训数据2);
培训数据。推回(培训数据3);
培训数据。推回(培训数据4);
系统(“暂停”);
返回0;
}
浮动反向支撑(浮动起始输出)
{
int ExpectedOutput=XORLogic(向量输入1);
浮点错误=BeginOutput-ExpectedOutput;
}
对于vector,它表示“类std::vector模板类类型不是 允许“

在Input1上写着“预期的a”)

我做错了什么?为什么不行?

啊,对不起,伙计们。 我现在明白了,一个简单的谷歌搜索就可以做到这一点

我不是有意粗鲁,但我很沮丧,因为我不明白你们在评论中给我的答案

如果有人想知道这个问题的答案,这里有一个链接:


有一个好的。

您知道如何将参数传递给函数吗?您以前调用过带参数的函数吗?你在
XORLogic
函数中做得很好(当你调用
std::acculate
时),为什么不能在调用
XORLogic
函数时做呢?
我做错了什么?
所有的事情。然后你应该重新开始。如果你不知道怎么游泳,你不会头朝下跳进游泳池的最深处,是吗?这就是你在这里所做的。“你认为这篇文章是在开玩笑吗?”我真的说不出来,代码完全是胡说八道,一个询问/回答特定编程问题的网站也是如此,而不是免费提供辅导。@Maartenww代码不是这样做的。
|
是一个布尔逻辑运算符。
…..==0和2是布尔真值表的输入。它将始终计算为
true