問題タブ [default-parameters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
169 参照

scala - パラメーターのデフォルトを使用したタイプ消去

以下はコンパイルされません。

コンパイラは次のように述べています。

dof :Int = 0をdof: Intに変更すると、サンプルはコンパイルされ、期待どおりに動作します。

コードが有効か無効かでパラメータのデフォルト値の有無が変わるのは醜い。

これが本当に理にかなっている理由の説明は何ですか?

0 投票する
1 に答える
510 参照

c++ - テンプレート関数の既定のパラメーターと型の推論

C++

これらのテンプレート関数のどれも

次の引数なしの呼び出しで何でもコンパイルできるようにします。

fooただし、任意の値で呼び出します (例: foo(2))。

nullptrには特定の型があるstd::nullptr_tため、#1 でデフォルト パラメータに追加の型修飾が必要だとは思いませんでした。#2 と #3 ではデフォルト パラメータの型が明示的に指定されているため、型のあいまいさはないと思いました。

ここで何が問題なのですか?テンプレート関数でデフォルト パラメータを実行する適切な方法はありますか?

0 投票する
1 に答える
69 参照

python - 関数宣言のデフォルトパラメータの動作は?

この投稿の回答からこの質問を受け取りました。

このコードを検討してください

出力は次のとおりです。

私が推測できるように、辞書への「グローバル」参照があります。

関数にデフォルトのパラメーターとして渡されるものは、名前空間のどこかに永続的です。

関数が再度呼び出されると、共有されます。しかし、どうすれば電流dictが保持されているかを知ることができますか. 関数のdict外側にあるものを関数に渡してdict、何が保持されているかを知ることができdictます。

しかし、私の質問は、デフォルトのパラメーターdictが存在する場所 (名前空間内) とそれにアクセスする方法です。これはいつdict作成されますか?関数が初めて呼び出されたとき、またはdefステートメントが実行されたとき?

ところで、locals()dictが関数に対してローカルであることを示すショーを印刷します

ありがとう

0 投票する
1 に答える
134 参照

c++ - MSVC12では許可されていないデフォルトパラメータでのテンプレートクラスのインスタンス化?

私たちのプロジェクトで次の問題を抽出しました。次のコードは、g++ で正常にコンパイルされます

ただし、Visual Studio Compiler (VC12、しかし他のすべてのコンパイラも想定) は、fooの c'torのデフォルト引数で、ベクトルのインスタンスを引数として取るbarの c'tor が呼び出されることを理解していません。 . これにより、この式の後に宣言されたすべてのクラス/構造体でエラーが発生します。

c'tor のソフトウェア設計については議論したくありませんが、これはコンパイラの問題ですか、それとも標準の C++ では許可されておらず、g++ はそれについて厳密ではありませんか?

まず、デフォルト パラメーターのテンプレートのインスタンス化が許可されていないか、デフォルトの引数で c'tor がネストされている可能性があると考えました。ただし、ベクターの別の c'tor を使用すると、次のようになります。

MSVC でコンパイルされます。上位バージョンがコンパイルされない理由がわかりませんか? それについて何か考えはありますか?

0 投票する
1 に答える
228 参照

c# - C# でのデフォルト パラメータのオーバーライド

複製するのは本当に簡単ですが、出力は奇妙です。

期待される出力は「bbb bbb」 実際の出力は「aaa bbb」

この動作について MSDN で説明を受けた人はいますか? 何も見つかりませんでした。

0 投票する
2 に答える
2726 参照

python - Pythonの関数で可変引数を使用してデフォルトパラメータを渡す

以下を試すと、function definitionそれ自体にエラーが発生します。

パラメータのデフォルト値を指定しようとしていますpad

しかし、私はこれを試してみましたが、うまくいきました(間違った理由で):

tupleのはずのを印刷してseqいません([1,2,3],[4,5,6])