Denis Remezov wrote:
> Whichever we happen to like.
>
> Most generally, you cannot declare multiple names of /different/
> types in one declaration.
>
> int signed s, unsigned u; //illegal
>
> This is why I see no value (or elegance) in being able to declare
> variables of type T and T* (and T**, ...) in one declaration.
You have got the main issue. Since int and int * are different types the
standard should require an error. That's why we are here with this
syntax stuff today.
However based on the fact that they are allowed to be declared together,
and the asterisk denotes a pointer variable, while an object next to it
in the same declaration without an asterisk becomes a non-pointer
object, the most rational thing in this kind of declarations is the
asterisk to go close to the pointer variable itself rather than the type.
Regards,
Ioannis Vranos
http://www23.brinkster.com/noicys