我似乎无法弄清楚我的函数出了什么问题......我需要向用户询问一个价格,然后将其作为双指针返回,但是我得到了大量的错误:
double* getPrice()
{
double* price;
cout << "Enter Price of CD: " << endl;
cin >> &price;
return price;
}
我似乎无法弄清楚我的函数出了什么问题......我需要向用户询问一个价格,然后将其作为双指针返回,但是我得到了大量的错误:
double* getPrice()
{
double* price;
cout << "Enter Price of CD: " << endl;
cin >> &price;
return price;
}
double* price = new double();
另外,你需要将 cin
传递给一个 double
,而不是一个 double**
。
cin >> *price;
注意,这将在您的进程中分配新的内存,必须稍后由调用getPrice的调用者释放。例如:
double* p = getPrice();
...
delete p;
理想情况下,在这种情况下,您根本不应该分配指针,因为它会引入不必要的内存管理开销。一个更简单的实现如下:
double getPrice() {
double price;
cout << "Enter Price of CD: " << endl;
cin >> price;
return price;
}