【发布时间】:2026-01-17 09:05:02
【问题描述】:
我在努力
void function(int y,int w)
{
printf("int function");
}
void function(float y,float w)
{
printf("float function");
}
int main()
{
function(1.2,2.2);
return 0;
}
我收到一个错误错误,例如..
error C2668: 'function' : ambiguous call to overloaded function
当我尝试调用function(1.2,2) 或function(1,2.2) 时,它打印为“int function”
请说明何时会调用function(float y,float w)?
【问题讨论】:
-
您正在将
doubles传递给函数,并且没有任何重载更好。尝试传递浮点数,例如1.2f. -
我看到你在这个问题上开了一个赏金。 L Lawliet 的回答没有充分解释或解决什么问题?考虑editing 您的问题以提及您的其他问题。
-
问题得到了完美的回答。还有什么好说的? Bjarne Stroustrup 应该亲自回答吗?不会发生的。
-
也许他只是想要另一个或用另一个比 L Lawliet 的答案更容易的解释来改进答案..!有可能..
-
@nightStalkEr 如果您对如何使 L Lawliet 的回答更清楚有任何想法,请不要自己保密。它已经尽可能清晰了!
标签: c++ visual-c++