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.

Reply via email to