以下の関数でreinterpret_castを実行する必要があるかどうかは疑問です。 ITER_Tはchar *、unsigned char *、std :: vector <、unsigned char >イテレータ、またはそれ以外のものかもしれません。これまでのところ怪我をしていないようですが、キャストはバイトのコピー方法に影響しますか?unsigned char *とchar *との間のキャストを再解析してください。
template<class ITER_T>
char *copy_binary(
unsigned char length,
const ITER_T& begin)
{
// alloc_storage() returns a char*
unsigned char* stg = reinterpret_cast<unsigned char*>(alloc_storage(length));
std::copy(begin, begin + length, stg);
return reinterpret_cast<char*>(stg);
}
どのようなタイプのalloc_storage関数が返されますか? – zdan