On Tuesday 26 February 2002 22:17, you wrote:
> How is this the case? STRING ** and Parrot_String * are equivalent.
> You can use & on both a STRING * and a Parrot_String to get a STRING**
> (a.k.a. a Parrot_String *). I don't see where the problem is.
Ah, except that you had a different typedef for both the type, and a pointer
to that type.
typedef FOO Parrot_Foo;
typedef FOO * Parrot_Foo_ptr; /* or typedef Parrot_Foo * Parrot_Foo_ptr; */
void func () {
FOO gork;
bar(&gork);
}
void bar ( /* What goes here? */ ) {
}
I'd argue for 'Parrot_Foo *'. Programmers know that when you pass in an
address, expect a pointer on the other end. But with your typedef for the
pointer thing, you're saying it should be 'Parrot_Foo_ptr' - do you expect
the users to a) look that up?, and b) actually do that?
--
Bryan C. Warnock
[EMAIL PROTECTED]