【C++ベースの14】パラメータのデフォルト
1224 ワード
ほとんどの場合、パラメータを渡す必要はありませんが、特定の場合、パラメータを渡す必要があります.どうすればいいですか.
簡単ですね.同じ方法を2つ書いて、1つは参を持っていて、1つは参を持っていません...
これはあまりにもレベルが低い.ハイエンドをください...関数のデフォルト!
関数のデフォルトは、コンパイル時にコンパイラによって自動的に挿入されます.ここは主に2点に注意しなければならない.
1.デフォルト値は宣言にのみ表示され、定義には表示されません.
2.複数のパラメータの場合、パラメータは後から前へのみデフォルトになります.
正しい:
エラー:二義性が発生し、コンパイル中にエラーが発生し、error C 2548:foo:パラメータ3のデフォルトパラメータが不足していることを示す
これは簡単ですから、そうしましょう.
簡単ですね.同じ方法を2つ書いて、1つは参を持っていて、1つは参を持っていません...
これはあまりにもレベルが低い.ハイエンドをください...関数のデフォルト!
関数のデフォルトは、コンパイル時にコンパイラによって自動的に挿入されます.ここは主に2点に注意しなければならない.
1.デフォルト値は宣言にのみ表示され、定義には表示されません.
void foo(int a=0);//
void foo(int a)//
{
cout<<a<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
foo();//
foo(1);//
return 0;
}
2.複数のパラメータの場合、パラメータは後から前へのみデフォルトになります.
正しい:
void foo(int a,int b,int c=0);
void foo(int a,int b,int c)
{
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
foo(0,1);
foo(0,1,2);
return 0;
}
エラー:二義性が発生し、コンパイル中にエラーが発生し、error C 2548:foo:パラメータ3のデフォルトパラメータが不足していることを示す
void foo(int a,int b=0,int c);
void foo(int a,int b,int c)
{
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
foo(0,1);
foo(0,1,2);
return 0;
}
これは簡単ですから、そうしましょう.