[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