【C++ベースの14】パラメータのデフォルト

1224 ワード

ほとんどの場合、パラメータを渡す必要はありませんが、特定の場合、パラメータを渡す必要があります.どうすればいいですか.
簡単ですね.同じ方法を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;

}

 
 
これは簡単ですから、そうしましょう.