我正在尝试使用 MSVC10 编译这个库,这个函数让我很头疼:
/*! \brief Read bytes from a \c std::istream
\param is The stream to be read.
\param data A pointer to a location to store the bytes.
\param size The number of bytes to be read.
*/
void _read(std::istream &is, unsigned char *data, int size)
{
for (int i=0; i < size ; ++i )
is.get(static_cast<char>(data[i]));
}
错误 C2664: 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::get(_Elem &)' : 无法将参数 1 从 'char' 转换为 'char &'
原来使用了static_cast,所以我按照其他地方的建议尝试使用reinterpret_cast,但这也失败了:
错误 C2440:“reinterpret_cast”:无法从“unsigned char”转换为“char”
这个库带有 unix makefile。解决此编译错误的最佳方法是什么?