1
このコードを考えてみましょう:エイリアスタイプにエイリアステンプレートをキャスティング
struct foo {/* stuff */};
template <typename T>
using bar = foo;
// Elsewhere
bar<int> A;
auto &B = static_cast<foo&>(A);
は法的B
を使用していますか?
このコードを考えてみましょう:エイリアスタイプにエイリアステンプレートをキャスティング
struct foo {/* stuff */};
template <typename T>
using bar = foo;
// Elsewhere
bar<int> A;
auto &B = static_cast<foo&>(A);
は法的B
を使用していますか?
はい、そうです。 bar<T>
は、いずれもT
の場合はfoo
とまったく同じタイプです。
私には理由が分かりません。 'foo'と' bar 'は同じタイプの名前です。 'foo&B = A;'、 'auto&B = A;' [Demo](http://rextester.com/MIFCW3704)というキャストは必要ありません。 –