C2440“初始化”:无法在 Microsoft VS 2010 实用程序文件中将 int 转换为 unsigned char*
当我编译 VS 2010 C++ 项目时,以下段落在文件 c:\program files\microsoft Visual Studio 10.0\vc\include\utility 中引发错误,
template<class _Other1,
class _Other2>
_Pair_base(_Other1&& _Val1, _Other2&& _Val2)
: first(_STD forward<_Other1>(_Val1)),
second(_STD forward<_Other2>(_Val2))
{ // construct from moved values
}
然后该错误后面跟着另一个错误 C2439 'std::_Pair_base..::第一个元素无法转换'
(所有错误均从德语翻译而来,因此它们的英语听起来可能略有不同)
我正在尝试在 VS 2010 上编译 AxCrypt 项目,项目文件已自动从 VS 2008 转换(但我不知道它是否可以在那里工作,我只有 VS 2010)。
When I compile my VS 2010 C++ project the following passage raises an error in file c:\program files\microsoft visual studio 10.0\vc\include\utility
template<class _Other1,
class _Other2>
_Pair_base(_Other1&& _Val1, _Other2&& _Val2)
: first(_STD forward<_Other1>(_Val1)),
second(_STD forward<_Other2>(_Val2))
{ // construct from moved values
}
The error is then followed by another error C2439 'std::_Pair_base..::first element could not be converted'
(All errors translated from German, so they may sound slightly different in English)
I am trying to compile the AxCrypt project on VS 2010, the project files have automatically been converted from VS 2008 (but I don't know if it would work there, I only have VS 2010).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题出在使用的 Crypto++ lib 中,在 VS 2010 上编译之前需要进行两个小修改。
更多详细信息请参见:
http://groups.google.com/group/cryptopp-users/browse_thread /线程/714f3ec6287a50b1
The problem was in the Crypto++ lib used which needs two small modifications before compiling on VS 2010.
More details here:
http://groups.google.com/group/cryptopp-users/browse_thread/thread/714f3ec6287a50b1
此代码可以重现此错误:
由于我指定的
second
类型是char*
但我传递的是int
,它无法转换为 <代码>字符*。请注意,这是您可能遇到的错误的过于简单的示例。您可能正在使用
地图
。This code can reproduce this error:
Since
second
type I specified is ofchar*
but I am passing anint
, which cannot be converted tochar*
.Note that this is oversimplified sample for the error you might be encountering. Probably you are using a
map
.