C++ 它不是编译。我正在调用一个通过引用调用的函数,但有一个错误是无法将double*转换为double

C++ 它不是编译。我正在调用一个通过引用调用的函数,但有一个错误是无法将double*转换为double,c++,C++,它不起作用,为什么 它也不是在编译 我正在调用一个通过引用调用的函数,但有一个错误 无法将double*转换为double square的声明和定义在参数类型上有所不同: #include<iostream.h> #include<conio.h> void square(double); void main() { clrscr(); double x; x=123.456; cout<<"\nThe value of i before ca

它不起作用,为什么

它也不是在编译

我正在调用一个通过引用调用的函数,但有一个错误

无法将double*转换为double


square的声明和定义在参数类型上有所不同:

#include<iostream.h>
#include<conio.h>
void square(double);
void main()
{
  clrscr();
  double x;
  x=123.456;
  cout<<"\nThe value of i before calling square(), is :"<<x;
  cout<<endl;
  square(&x);
  cout<<"The value of i after calling square(), is :"<<x;
  cout<<endl;
  getche();
}
void square(double* x)
 {
  *x=*x**x;
 }
square&x尝试使用double*调用void squaredoull-这解释了您的错误

你也使用了一个古老的C++编译器-iSWix.h和Curio。h是非标准的和过时的。
指针的使用也不惯用——square应该采用double by value或const lvalue引用。

检查函数square的原型
void square(double);
// ...
void square(double* x) { /* ... */ }