可以看下每个解释的对吗,顺便再把那些不确定的补充一下😮

#include
using namespace std;
void f(float x=5,float y); // ①错误,应当从后向前缺省
int main( )
{
void f(float,float=30); // ②正确
float a=10;
f(float a,20); // ③应当把float去掉?
void f(a,20); // ④没有说明形参的类型
cout<<f(a,20)<<endl; // ⑤错误?
return 0;
}
void f(float x,y) // ⑥float y
{
cout<<x+y<<endl;
}

#include
using namespace std;
void f(float x=5,float y); // ①错误,应当从后向前缺省
int main( )
{
    void f(float,float=30); // ②正确
    float a=10;
    f(float a,20); // ③应当把float去掉?  //是的,f(a,20) 
    void f(a,20); // ④没有说明形参的类型  //不用写void 
    cout<<f(a,20)<<endl; // ⑤错误?      //f(a,20)没有返回值 
    return 0;
}
void f(float x,y) // ⑥float y
{
    cout<<x+y<<endl;
}