oid 将 double* 转换为 double

oid Convert a double* to double

在我的代码中,我必须使用接受 double* 作为参数的函数

void function_1(int a, double* var){
  (*var) = 0.;
  for (int i=0; i<a.Size(); i++) {
    (*var)+=pow(a[i],2);
  }
  (*var) = (*var)/a.Size();
}

然后我必须在另一个需要 var 作为 double

的函数中使用 (*var)
double function_2(double x)

我尝试使用

function_2( *(double*) var )

但没有任何成功...因为我是 c++ 的新手,我认为我做的事情根本上是错误的。有什么帮助吗?

如果你想调用它,只需使用:function_2(*var);

函数 2 应该同样接受双精度值

function_2( double var );

然后你可以像这样用 * 调用它:

function_2(*var);

Here 是关于指针和引用的优秀而全面的教程(它们是 C++ 中非常相关的概念)。它有一些真正让你理解这个主题的图像。