Bill, I don't think Jim was saying there's no way available to state
his intentions regarding `skel_t *' arguments. He's saying that
`const' isn't it, because const doesn't technically mean what he needs
to assert about the parameter.
If you look at his code, he uses comments all the time to say what
needs to be said.
"Bill Tutt" <firstname.lastname@example.org> writes:
> > BTW, I don't think it's helpful to apply to `const' to `skel_t'
> > arguments. A skel is a tree, not a single node or array of nodes. So
> > a `const skel_t *' argument doesn't mean "I won't modify this tree",
> > which is what one really wants to say; it means "I won't modify the
> > top skel of this tree, but I might munge any of the other skels it
> > points to," which is useless.
> Oh well, hell then. Use comments in your function definitions to
> explicitly state what you mean.
> Something like:
> HRESULT CSwBusiness::VerifyBusinessAddress
> // Check Address
> // BR: If !IsOnlineBusiness, then make address fields required
> // BR: If Address changed, calc new LatLong, InterleavedLatLon
> IsboContext * piSboContext,
> // [in] Needed to get datasource property
> _Recordset * piRecordset,
> // [in/out] relevant recordset
> ULONG *pulNewInterleavedLatLong,
> // [out] returns current InterleavedLatLong (for subq. bus.
> BOOL* pfDirty
> // [out] set TRUE if fields modified
> Would have thought this was obvious,
Received on Sat Oct 21 14:36:17 2006