So I'm stepping through the ContainerTestCaseData (const ContainerFunc
&func, const ContainerTestCase &tcase) constructor as shown in the
following stack frame:
(gdb) where
#0 ContainerTestCaseData<UserClass>::ContainerTestCaseData
(this=0x7fffe750,
[EMAIL PROTECTED], [EMAIL PROTECTED])
at
/amd/devco/lemings/work/stdcxx/trunk.gofish/tests/include/23.containers.
h:280
Here's part of the ctor:
(gdb) list
276 char buf [256];
277
278 strlen_ = sizeof (buf);
279 char* str = rw_expand (buf, tcase.str, tcase.str_len,
&strlen_);
280 str_ = T::from_char (str, strlen_);
281 if (str != buf)
282 delete[] str;
Notice anything unusual around line 280? Here's a hint:
tests/include/rw_value.h:
228 // construct an array of objects of type UserClass each
initialized
229 // from the corresponding element of the character array
230 // when the last argument is true and the character array
231 // is not sorted in ascending order the function fails by
232 // returning 0
233 static UserClass*
234 from_char (const char*, _RWSTD_SIZE_T = _RWSTD_SIZE_MAX,
235 bool = false);
Now I'm sorta new to this UserClass and container testing but but WTF is
going on here? char* and UserClass* are convertible certainly but
clearly not compatible.
Brad.