class Foo {
public:
Foo& operator=(const Foo&) = default;
private:
const int i = 0;
};
なぜ=default
そこで許可されているのですか?エラーなしでコンパイルされます。変数=default
に代入する可能性はないので、失敗するはずだと思いますか?const
実際に何が起こっているのですか?
関数を生成できない場合 (その場合)、代わりに d= default
として生成します。= delete
その代入演算子を使用しようとすると、コンパイラはエラーを生成するはずです。