Liste des Groupes | Revenir à cl c |
Bart <bc@freeuk.com> writes:You or he would have to go into more detail, such as an actual example, to demonstrate whatever it is that you think is wrong about passing a pointer argument by-reference.
On 15/08/2024 15:33, Ben Bacarisse wrote:Tim said that case was "disallowed". You call that an error on hisBart <bc@freeuk.com> writes:>
>On 15/08/2024 09:43, Tim Rentsch wrote:Bart <bc@freeuk.com> writes:>Which is why, presumably, you didn't show the differences. YourC call-by-value call-by-reference>
=============== =================
at call:
>
(array argument) F(A) H(A)
>
(pointer argument) F(p) (disallowed)
My posts were about passing *arrays* and the fact that C's pass-by-value
was remarkably similar to pass-by-reference.
post was all polemic not part of a collegiate discussion of the
similarities and differences.
>However your entry for pointers is not correct:No, the entry is correct. H(p) would be (is?) disallowed when H's
parameter is a reference to an array.
Sorry, what language does the right-hand column pertain to? /Any/ language
that has call-by-reference, or Tim's hypthetical language?
part. What language did you have in mind that permits such a gross
warping of types? I would describe /any/ language that allowed it as
having a design error.
OK. So why do you agree with this:Or any that could be used to prove him right?I can't unravel this. Take, as a concrete example, C++. You can't pass
>
In general there is no reason, in a language with true call-by-reference,
why any parameter type T (which has the form U*, a pointer to anything),
cannot be passed by reference. It doesn't matter whether U is an array type
or not.
a pointer to function that takes an array passed by reference. You can,
of course, pass a pointer by reference, but that is neither here nor
there.
Les messages affichés proviennent d'usenet.