問題タブ [method-hiding]

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 に答える
381 参照

c++ - 型エイリアスは、関数シグネチャの関数パラメーター部分の型として使用されていますか?

例を考えてみましょう:

[namespace.udecl]/15によると:

using-declaration が名前を基本クラスから派生クラス スコープに持ち込む場合、派生クラスのメンバー関数とメンバー関数テンプレートは、同じ名前、parameter-type-list、cv を持つメンバー関数とメンバー関数テンプレートをオーバーライドおよび/または非表示にします。 -qualification、および ref-qualifier (存在する場合) を基本クラスに (競合するのではなく)

したがって、明らかにテンプレート パラメーターは、メンバー関数の非表示に関与するべきではありません。ただし、この例では、テンプレート パラメーターはエイリアスを使用して署名に取り込まれます。それにもかかわらず、 clangは、エイリアスが関数のparameter-type-list の一部であり、次のように主張しているという感覚を共有していないようです。

非表示プロセスにテンプレート パラメーター リストが含まれるため、意図的に gcc を省略しました。クランは正しいですか?