[omniORB] Sequence of Sequence causes client compiler errors!!!
David Morgenlender
dmorgen@alum.mit.edu
Thu, 28 Jan 1999 21:38:05 GMT
Gary,
>=3D>IAE, I still don't understand why this compiles:
>=3D>
>=3D> Tests::TestResultsList* seqResults;
>=3D> INTERFACE_TESTS-> Test(seqResults);
>=3D>
>=3D>and this does not:
>=3D>
>=3D> Tests::TestResultsList seqResults;
>=3D> INTERFACE_TESTS-> Test(&seqResults);
>
> Test is probably defined to take a "Tests::TestResultsList*&", or a
>reference to a pointer. The first one defines storage for a pointer
>variable, so making a reference to it is no problem. The second is a
>temporary pointer value which doesn't have a memory location, so can't
>have a reference to it without creating a temporary variable for it,
>which is not done automatically unless it is a reference to a const.
> The basic issue is that Test() wants to write to the pointer, but
>that doesn't make sense in the second case.
I hate it when the answer is so obvious in hindsight <g>! The compiler =
error
didn't mention reference, instead saying there's a mismatch between 2 =
very long
complex types; so I got hung up on figuring out the data types, thereby =
missing
the obvious.
Thanks for pointing that out!
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
Dave Morgenlender
e-mail: dmorgen@alum.mit.edu
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D