C++ 这种编码风格是否属于旧版本的C++;?

C++ 这种编码风格是否属于旧版本的C++;?,c++,C++,我在以前的书中遇到过这个代码。我试图在Visual Studio 2019中运行它,但它给了我一个错误: 卷函数不接受零参数 这是因为代码旧了,还是代码错了 #包括 使用名称空间std; 钢瓶 { 私人: 常数双pi=3.14; 双r,h; 公众: 空心ro(双半径){ r=半径; } 空位ho(双高){ h=高度; } 双卷(双r,双h) { 返回pi*r*r*h; } }; int main() { 气缸s; s、 ro(1); s、 何(2),; CUT< P>代码错误。声明卷< /COD

我在以前的书中遇到过这个代码。我试图在Visual Studio 2019中运行它,但它给了我一个错误:

卷函数不接受零参数

这是因为代码旧了,还是代码错了

#包括
使用名称空间std;
钢瓶
{
私人:
常数双pi=3.14;
双r,h;
公众:
空心ro(双半径){
r=半径;
}
空位ho(双高){
h=高度;
}
双卷(双r,双h)
{
返回pi*r*r*h;
}
};
int main()
{
气缸s;
s、 ro(1);
s、 何(2),;

CUT< P>代码错误。声明<代码>卷< /COD>函数,取两个代码>双< /Cord>参数,C++编译器期望它被这样调用。 <>我不知道任何C++编译器都会接受这个代码。


看起来函数可能是使用成员变量<代码> R>代码>代码> > <代码>,在这种情况下,你应该删除“C++代码>卷/ <代码>声明中的参数。

< p>代码错误。这叫什么

<>我不知道任何C++编译器都会接受这个代码。

看起来函数可能试图使用成员变量
r
h
,在这种情况下,您可能应该从
volume
的声明中删除参数。代码是错误的

调用函数时,必须传入与声明的参数数量相同的值。不能跳过参数,除非它们是用默认值声明的,而这里不是这种情况

鉴于本例中
main()
使用
Cylinder
的方式,需要完全删除这两个输入参数,因为它们隐藏着
r
h
类成员,这些成员由
ro()
ho()
方法设置

double volume()
{
    return pi * r * r * h;
}
现在调用
cout代码是错误的

调用函数时,必须传入与声明的参数数量相同的值。不能跳过参数,除非它们是用默认值声明的,而这里不是这种情况

鉴于本例中
main()
使用
Cylinder
的方式,需要完全删除这两个输入参数,因为它们隐藏着
r
h
类成员,这些成员由
ro()
ho()
方法设置

double volume()
{
    return pi * r * r * h;
}

现在调用
cout我相信代码是错误的。
如果方法上有默认参数。
例如,类似这样的事情:

double volume(double r = 0, double h = 0)
{
    return pi * r * r * h;
}

如果不带参数调用它,它就会工作。

我认为代码是错误的。 如果方法上有默认参数。 例如,类似这样的事情:

double volume(double r = 0, double h = 0)
{
    return pi * r * r * h;
}
当您调用它而不使用参数时,它会工作