szedłem tym articleJak to jest najbardziej irytującą parse?
i znajduje się zdanie w punkcie 3 mówi
// C++98
rectangle w(origin(), extents()); // oops, vexing parse
jak jest powyżej najbardziej irytującej przetworzenia. Jeśli zrobiłem coś jak ten
struct origin
{
};
struct Rectangle
{
Rectangle(const origin& s)
{
}
};
rachunku
Rectangle s(origin());
działa dobrze i nie przypominają podyktowane parse. Dlaczego autor powiedział, że to irytująca analiza. Czy to literówka, czy coś mi brakuje?
Zobacz rozdział 1 (b) dokumentu, wyjaśniający te kłopotliwe analizy. – Barmar
Dlaczego mówisz 'Rectangle s (origin());' nie przypomina uciążliwego parse? Jest kanonicznym przykładem najbardziej irytującej analizy. Jak myślisz, co najbardziej denerwuje, jeśli nie tak? –
Deklaracja działa poprawnie. Spróbuj * użyć * 's' i zobaczyć, co się stanie. – molbdnilo