Cのデフォルトパラメータの値を設定することは可能ですか?例えば:
void display(int a, int b=10){
//do something
}
main(){
display(1);
display(1,2); // override default value
}
Visual Studio 2008、-void display(int a、int b = 10)に構文エラーがあるという苦情。これがCで合法でない場合、代替案は何ですか?私にお知らせください。ありがとう。
デフォルトのパラメーターはC++機能です。
Cにはデフォルトのパラメーターはありません。
標準Cでは不可能です。1つの代替方法は、パラメータを関数名にエンコードすることです。
void display(int a){
display_with_b(a, 10);
}
void display_with_b(int a, int b){
//do something
}
Cにはデフォルトのパラメーターはありません。
これを実現する1つの方法は、NULLポインターを渡し、NULLが渡された場合に値をデフォルトに設定することです。ただし、これは危険なので、デフォルトのパラメーターが本当に必要でない限り、お勧めしません。
例
function ( char *path)
{
FILE *outHandle;
if (path==NULL){
outHandle=fopen("DummyFile","w");
}else
{
outHandle=fopen(path,"w");
}
}
そうではない...
Int配列または可変引数を使用して、関数内の欠損データを埋めることができます。ただし、コンパイル時のチェックは失われます。