次のコードを検討してください。
class A {
A(const A&);
public:
A() {}
};
int main() {
const A &a = A();
}
このコードはGCC4.7.2で正常にコンパイルされますが、Visual C ++ 2010でコンパイルできず、次のエラーが発生します。
test.cc(8) : error C2248: 'A::A' : cannot access private member declared in class 'A'
test.cc(2) : see declaration of 'A::A'
test.cc(1) : see declaration of 'A'
では、一時を参照にバインドするときに、コピーコンストラクターにアクセスできるようにする必要がありますか?
これは私の前の質問にいくらか関連しています: