【问题标题】:Using function as another function input [duplicate]使用函数作为另一个函数输入[重复]
【发布时间】:2016-11-14 11:44:54
【问题描述】:

您好,我是编码新手,但我有一个非常复杂的心理问题需要用 cpp 解决,而且我遇到了一些问题

#include <stdio.h>
#include <cmath>
#include <iostream>

using namespace std;

double delta_x(double x, double n)
{
    return x/n;
}

double theta(delta_x(double x,double n),double i, double a)
{
    return atan(abs(2*a*((delta_x(x,n)*i)-50)-(0.01)));
}

Codeblox 给我以下错误:

|9|error: expected primary-expression before 'double'|
|9|error: expected primary-expression before 'double'|
|9|error: expected primary-expression before 'double'|
|9|error: expected primary-expression before 'double'|
|9|error: expression list treated as compound expression in initializer [-fpermissive]|
|10|error: expected ',' or ';' before '{' token|
|20|error: 'theta' cannot be used as a function|

提前致谢

【问题讨论】:

  • 您不必再次传递delta_x。简单地说:double theta(double i, double a)。它应该可以工作。
  • 在尝试解决复杂问题之前,请阅读一本好书,例如“C++ Primer 5th edition”——使用函数是您应该了解的基础知识的一部分
  • 我不会这样做,但这是我周四需要做的物理练习的一部分,所以我认为我当时没有足够的时间阅读任何东西

标签: c++ function arguments


【解决方案1】:

无需将delta_x 传回theta

double delta_x(double x, double n)
{
    return x/n;
}

double theta(double i, double a)
{
    return atan(abs(2*a*((delta_x(i,a)*i)-50)-(0.01)));
}

【讨论】:

  • 实际上作为delta_x 参数我需要xn 稍后在int main() 中初始化
  • @TheRlee:在您的问题中写一个代表您的用例的最小示例
  • 所以我需要这部分程序来读取一些n 值,为此n 计算delta_x,然后使用此delta_x 为一些theta 计算ai
  • @TheRlee:打开一个新问题,其中包含一个显示您希望如何调用theta 的最小示例。
  • 我自己设法解决了这个问题,但这肯定不是我做这个作业的最后一个问题:/ 无论如何,谢谢你的帮助
猜你喜欢
  • 2011-04-11
  • 1970-01-01
  • 1970-01-01
  • 2016-02-07
  • 1970-01-01
  • 2014-11-20
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
相关资源
最近更新 更多