için başvuru başvuru bağlama this sorusunda çalışırken tutarsız bir davranış buldum.const başvuru bir
Referans bağlama neden bir yapıcıda ortak bir işlevden farklı davranıyor?
struct A {
};
struct B : public A {
B(){}
private:
B(const B&);
};
void f(const B& b) {}
int main() {
A a(B()); // works
A const & a2 = B(); // C++0x: works, C++03: fails
f(B()); // C++0x: works, C++03: fails
}
C++ ++ g ile 03 için test ettik - sıkı C++ 03 modunda 4.1 ve Comeau 4.2.45.2 ve devre dışı C++ 0x uzantıları ile. Aynı sonuçları aldım.
C++ 0x için g ++ - 4.4 ve Comeau 4.3.9 ile rahat modda ve C++ 0x uzantıları etkinleştirildi. Aynı sonuçları aldım.
Famously "en can sıkıcı parse" olarak da bilinir. – earl
Ben bir gün "en çok rahatsız edici ayrıştırma sorun kurbanı düştü" diyebileceğim gün için sabırsızlanıyorum. Tabii ki bu zamana kadar tamamen unutacağım ve C++ 'dan nefret etmeye geri döneceğim. –