Ich wollte diese durch articleWie ist das ein ärgerlicher Parse?
und es gibt eine Erklärung in Artikel 3
// C++98
rectangle w(origin(), extents()); // oops, vexing parse
zu sagen, wie die über einem drängendsten Parse ist. Wenn ich so etwas wie dieses
Rectangle s(origin());
struct origin
{
};
struct Rectangle
{
Rectangle(const origin& s)
{
}
};
Die Aussage
hat funktioniert und keinen ärgerlichen Parse ähneln. Warum hat der Autor gesagt, dass es ein ärgerlicher Parse ist. Ist das ein Tippfehler oder fehlt mir etwas?
Siehe Abschnitt 1 (b) des Dokuments, es erklärt diese ärgerlichen Pars. – Barmar
Warum sagst du 'Rectangle s (origin());' ähnelt nicht einem ärgerlichen Parse? Es ist das kanonische Beispiel für das ärgste Parsen. Was denkst du am ärgsten, wenn nicht das? –
Die Deklaration funktioniert einwandfrei. Versuchen Sie, * 's' zu verwenden und sehen Sie, was passiert. – molbdnilo