このような関数のオーバーロードを実際に使用できますか:
#include <iostream>
void foo(...)
{
   std::cout << "::foo(...) \n";
}
void foo(int)
{
   std::cout << "::foo(int) \n";
}
int main()
{
   foo(0);
   foo('A');
   foo("str");
   foo(0, 1);
}
それについてどのような基準が述べていますか?そして、どのような状況で ::foo(...) を取得しますか?