問題タブ [generic-lambda]

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 投票する
3 に答える
1273 参照

c++ - ラムダがジェネリックではないことを static_assert することは可能ですか?

バリアントで現在アクティブな型が関数シグネチャ (より正確には最初の引数) と一致することを確認する Visit 関数を (バリアントで) 実装しました。この素敵な答えに基づいています。例えば

[](auto&){}これは機能しますが、ユーザーが一般的な (例: ) ラムダを渡すと、ユーザーにとって使いにくいコンパイル時エラーで爆発します。これを検出し、それについて親切にする方法はありstatic_assert()ますか? ラムダだけでなく、関数テンプレートでも機能するといいでしょう。

可能なラムダが何をするかわからないことに注意してください。したがって、ラムダは型に対して任意の関数を呼び出す可能性があるため、ダミー型で巧妙なことを行うことはできません。言い換えれば、私は 2 つのstd::void_tテストでラムダを呼び出そうintとするstd::stringことはできません。.BlaLol()intstring