次のコードでは、目的は、変更reference_wrapper<int> b
時にa
変更b
も変更されるようにすることですが、その反対は許可されるべきではありa
ません。つまり、変更時にb
変更されるべきではありません。行 7 と行 8 の 2 つの方法を試しました。行 7 では、行 8 が問題なくコンパイルされている間、コンパイラは からint
に変換できないと不平を言いましたが、結果は私が望んでいたものではありませんでした (変更時に変更されました)。何か案が?const int
a
b
1. #include <iostream>
2. #include <functional>
3. using namespace std;
4.
5. int main() {
6. int a = 1;
7. //reference_wrapper<const int> b = ref(a);
8. //const reference_wrapper<int> b = ref(a);
9. return 0;
10. }