环境:xp sp3,vs2003,release
int nPaddingTop=(abs(m_uiCaptionHigh-m_uiButton))/2;
debug下不报错,改成release,报 error C2668: “abs” : 对重载函数的调用不明确
解决:
//m_uiCaptionHigh,m_uiButton是UINT类型,abs不支持UINT
int nTemp = m_uiCaptionHigh-m_uiButton;
int nPaddingTop=(abs(nTemp))/2
原因:
abs支持多种数据类型。把abs的参数强制转换为其中一种,例如int。
参考:
http://topic.youkuaiyun.com/u/20080523/11/4dffe236-0c2e-4f3d-8142-6a481cec27d7.html
本文解决了一个在Visual Studio 2003环境下使用abs函数出现的编译错误问题。错误出现在从debug模式切换到release模式时,通过将UINT类型的变量转换为int类型解决了该问题。
6527

被折叠的 条评论
为什么被折叠?



