error C2668: “abs” : 对重载函数的调用不明确

环境: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.csdn.net/u/20080523/11/4dffe236-0c2e-4f3d-8142-6a481cec27d7.html

你可能感兴趣的:(点点滴滴)