問題タブ [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.
c++ - intel icc の汎用ラムダでの名前検索
周囲のスコープで別の名前空間からの名前がインポートされた場合、一般的なラムダの名前検索規則は何ですか?
上記の状況ではgcc
、 intel と intelで異なる結果が得られicc
ます。gcc
エラーや警告なしでコンパイルされicc
ますが、エラーメッセージが表示されます
行(4)で。https://godbolt.org/g/PYzWtwも参照してください(1) が削除された場合、または (3) で名前空間からの名前ns
が再度インポートされた場合、または (2) と (4)auto
で置き換えられた場合、状況は変わります。 int
. したがって、無関係に見える小さな変更により、コードは .xml でコンパイルされicc
ます。すべての場合において、それは で問題なくコンパイルされgcc
ます。
これは intels コンパイラのバグですか?
私のコンパイラ設定: gcc 6.3.0, intel icc 18.0.1. また、clang 4 を使用すると、正常にコンパイルされます。
非ジェネリックラムダで動作するため、問題はラムダのインスタンス化ポイントに関連していると思いますoperator()
。しかし、どのコンパイラが正しく動作するかわかりません。