Visual c++ C2664错误流。写入无符号字符*

Visual c++ C2664错误流。写入无符号字符*,visual-c++,iostream,Visual C++,Iostream,错误C2664无法将参数1从常量无符号字符*转换为常量字符* 常量unsigned char*是否有重载写入? 我不想更改一些unsignedcharstar,因为它在我继承的遗留代码中无处不在。这是在VC6上编译的,没有任何抱怨。我正在慢慢地将代码升级到VS2003,然后是VS2010 最简单、最干净的修复方法是什么?您可以在没有任何问题的情况下对其进行强制转换。严格的别名允许在同一类型的未签名和已签名版本之间转换指针,以及从任何类型转换到const char*,因此您在这里很安全。我不想麻烦

错误C2664无法将参数1从常量无符号字符*转换为常量字符*

常量unsigned char*是否有重载写入? 我不想更改一些unsignedcharstar,因为它在我继承的遗留代码中无处不在。这是在VC6上编译的,没有任何抱怨。我正在慢慢地将代码升级到VS2003,然后是VS2010


最简单、最干净的修复方法是什么?

您可以在没有任何问题的情况下对其进行强制转换。严格的别名允许在同一类型的未签名和已签名版本之间转换指针,以及从任何类型转换到
const char*
,因此您在这里很安全。

我不想麻烦先升级到VC++2003,直接升级到最新版本即可。VisualStudio.NET2003可能是有史以来最疯狂的版本。我直接进入了VS2010,所有的麻烦都爆发了。在从VC6到VS2010的转换过程中,需要处理的事情太多了。我试着先转换到VS2008,结果都很好。所有项目均在VS2008中构建。从VS2008到VS2010的转换要容易得多,因为这是一个较小的步骤。这不是没有问题的。好吧,听起来很合理。我只是建议不要把VC++2003搞砸了。
ostream &stream;
stream.write(SomeUnsignedCharStar, intSize);