aşağıdaki (geçersiz) kodu var varsayarsak ? C++ StandardınınC++ Oluşturucu Değer tarafından
Bölüm 12.8.2 diyor: B başka sınıfı ise sadece
struct A {
A(B) {};
};
gibi, derleyici normal yapıcı olarak yukarıdaki yöntem algıladığını beklenebilir
A non-template constructor for class X is a copy constructor if its first parameter is of type X& , const X& , volatile X& or const volatile X&
.
Bu davranış nerede tanımlanmaktadır? GCC 4.9.2, hata üzerine
: geçersiz yapıcısı; Muhtemelen 'A (const A &)' –
mu demek istiyorsunuz? Muhtemelen insanlar MSVS'nin güzel olmaya çalıştığı ve bunları bilmesini istedikleri kendi kopya kurucusunu yapmaya çalıştıklarında bu yeterli bir hatadır. – NathanOliver
@NathanOliver: Bunu beğendim. – Bathsheba