cannot convert 'Type1 *' to 'Type2 *'
Type1 does not derive from type2, so implicit conversion is impossible. Pointers cannot generally be converted implicitly from one type to another. Conversion to void* is possible if the size of void is greater than the size of the original pointer.
Possible solution