auto
に関連するエラー以下
が、理解しやすいです:同じ "auto"宣言で基本クラスが自動的に推論されないのはなぜですか?
auto i = int(), d = double(); // error: inconsistent deduction for ‘auto’
しかし、同じエラーで被害を受けている以下の理由:
struct B {};
struct D : B {};
const auto &b1 = B(), &b2 = D(); // error: inconsistent deduction for ‘auto’
がb1
がすでにconst B&
に推定されることが知られた、することはできませんコンパイラはb2
もconst B&
にしようとしていますか? (b2
がconst B&
に導かれた場合、どのような危険が発生する可能性がありますか?)