代码之家  ›  专栏  ›  技术社区  ›  Ed The ''Pro'' Simon Klee

我不知道怎么做这个函数

  •  -5
  • Ed The ''Pro'' Simon Klee  · 技术社区  · 6 年前

    原始问题

    我正在编写一个名为 Evaluate 在C++中。它接受三个数组作为参数:

    double Evaluate (double inputs[], double hidden[], double outputs[]) {
        // To-Do...
    }
    

    问题出现在 脚本 以下内容:

    程序员决定初始化这个函数 评价 只有两个参数:输入[]和输出。

    所以,我想创造 评价 这样地:

    double Evaluate (double inputs[], double hidden[] = {}, double outputs[]) {
        // To-Do...
    }
    

    但是,这会产生奇怪的错误:

      In function 'double Evaluate (double*, double*, double*)'
    34:53: error: unexpected '{' token
    34:54: error: unexpected '}' token
    

    有解决办法吗?

    *提前谢谢。

    更新的问题

    我设法在评论中借助我的回答。

    我现在很好奇,难道多个函数重载不会导致程序变慢吗?

    1 回复  |  直到 5 年前
        1
  •  0
  •   Ed The ''Pro'' Simon Klee    5 年前

    我学到的一种方法是 函数重载 -在其中创建相同函数的副本,但以不同的方式。

    int add(int a)
    {
        return ++a;
    }
    
    int add(int a, int b)
    {
        return a + b;
    }
    
    double add(double a, double b)
    {
        return a + b;
    }
    

    这变得非常有帮助,我可以用它实现许多操作!

    就我而言 evaluate 功能,我可以做:

    evaluate(std::vector<double> inputs, std::vector<double> outputs, std::vector<double> hidden)
    {
        // ...
    }
    
    evaluate (std::vector<double> inputs, std::vector<double> outputs)
    {
        // ...
    }
    
    推荐文章