错误:没有给出的参数对应于所需的形式参数
我已经查看了此问题的其他答案,但我确实不太了解编码以了解他们在说什么。我在一个介绍课,知道最低限度。我应该打个车的价格计算,使用方法,找出哪些是选择规范得到的总价为汽车,但一直收到的瓷砖错误:错误:没有给出的参数对应于所需的形式参数
There is no argument given that corresponds to the required formal parameter
我的代码是:
这里发生double totalPrice = 0.0;
//Add each cost
totalPrice += getBasePrice();
totalPrice += getTransmissionPrice();
totalPrice += getWheelsPrice();
totalPrice += getAccessoriesPrice();
//Calculate tax
totalPrice += getTax(totalPrice);
//Display Cost
lblPriceOutput.Text = totalPrice.ToString("C");
}
public double getBasePrice(double typeChoice)
{
typeChoice = 0;
if (rdCar.Checked)
{
typeChoice = 19150;
}
else if (rdTruck.Checked)
{
typeChoice = 29475;
}
else if (rdSUV.Checked)
{
typeChoice = 30595;
}
else if (rdMinivan.Checked)
{
typeChoice = 28155;
}
return typeChoice;
}
Error: There is no argument given that corresponds to the required formal parameter
错误:
totalPrice += getBasePrice();
为什么呢?
因为方法getBasePrice(double typeChoice)
需要在调用方法时传入double类型的值。
如何解决这个问题?
你可以通过传入一些数据来解决它,但必须是是double类型的。
例子:
double myValue = 45.67;
totalPrice += getBasePrice(myValue);
目前,我不知道你想传递给方法的参数有什么具体的数据。然而,上面的解决方案解决了这个问题,所以你所要做的就是将正确的数据传递给方法。
UPDATE
似乎所有你想要做的就是调用该方法getBasePrice()
为了得到该方法中相应值(一个或多个)。在这种情况下,我建议你删除方法参数并根据点击哪个按钮返回值。
实施例:
public double getBasePrice()
{
double typeChoice = 0;
if (rdCar.Checked)
{
typeChoice = 19150;
}
else if (rdTruck.Checked)
{
typeChoice = 29475;
}
else if (rdSUV.Checked)
{
typeChoice = 30595;
}
else if (rdMinivan.Checked)
{
typeChoice = 28155;
}
return typeChoice;
}
问题是我不能只是在那里放一个值,这个值取决于选择了哪个按钮。这就是为什么我有下半场,根据选择决定输入哪个价值......所以我不知道我可以在括号中做些什么来完成这项工作。 –
@MakaylaMuir你不能说传入参数值的决定取决于方法中的代码。如果是这种情况,你将永远不会调用该方法。在这种情况下,我建议你删除方法参数。 –
@MakaylaMuir根据您的评论我将重新更新我的答案并提供替代方案来实现您的任务。 –
您需要双值传递给'totalPrice + = getBasePrice()'。例如。 'totalPrice + = getBasePrice(23000)' – Sameer