我編譯的代碼,這使我的錯誤在以下功能:錯誤:從「字符*」到「無符號整數」鑄損失精度
inline char *align(char *var, DataType_e type)
{
return (DataTypeSize[type] == 0) ? var :
(char*) (((unsigned int)(var) + DataTypeSize[type]-1)/
DataTypeSize[type] * DataTypeSize[type]);
}
下面的錯誤來本着「(無符號INT)(VAR)」:
error: cast from 'char*' to 'unsigned int' loses precision
如果我改變‘無符號整型’到‘無符號長’,彙編作品,但我運行程序時,我沒有得到預期的結果。任何想法如何解決這個問題?
預期結果是什麼?你能提供一些例子嗎? – glglgl
您的預期成果是什麼?你能詳細說明一下嗎?出乎意料的是,你在一個使用'long'指針表示的環境中進行編譯。 –
你確定這甚至是你想要做的嗎?根據你填寫'DataType_e'對象的方式,你找回的指針看起來很可能不會成爲有效的內存。 – Daniel