私は疑問を持っています..それは私のクイズで質問でした..この質問の答えを知りたいのです。どの機能が選択されますか?
Question:
int foo(int);
double foo(int);
double foo(double);
void bar(int value){
double score = foo(value);
}
どの機能宣言が選択されますか?またはそれは上記のどれですか?
私は疑問を持っています..それは私のクイズで質問でした..この質問の答えを知りたいのです。どの機能が選択されますか?
Question:
int foo(int);
double foo(int);
double foo(double);
void bar(int value){
double score = foo(value);
}
どの機能宣言が選択されますか?またはそれは上記のどれですか?
Cは、オーバーロード(同じ名前の関数)をサポートしていません。
これは本当にC++の質問ですが、C++では戻り値の型だけが異なるオーバーロード(int foo(int)
およびdouble foo(int)
)は許可されません。
+1答えは「上記のどれもコンパイルされません」となります。 – jv42
Cはオーバーロードをサポートしていません。同じ名前の関数を複数持つことはできません。
コードはコンパイルされないため、どのように動作するのかは不明です。
これは、例えば、数学ライブラリはdouble
で動作両方sin()
を提供する理由であり、そしてfloat
値の代わりに単精度を使用sinf()
。
それをCで行うことは不可能です。誰でもそれを実装できれば、それはコンピュータサイエンスの最大のブレークスルーになります。
なし、コンパイルされません。 – jv42