bartc wrote:
While on the subject of C syntax, here are some fun ambiguities:

f(x);    // call function with arg x, or declare x of type f?

a*b;     // multiply a by b, or declare b of type pointer to a?

(a)*b    // multiply a by b, or cast *b to type a?

Technically these are not ambiguous in C, because the context always
makes it clear whether you're dealing with a declaration or an expression.
The indications can be subtle sometimes, but they're there.

In C++ they really are ambiguous in some cases, and some arbitrary
rules had to be added to disambiguate them. (I think the rule is
"if it could be a declaration, then it is" or something like that.)

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to