C++程序报错:不能将参数 1 从“void”转换为“const VARIANT &”
这是一个换算byte程序,换算完成的结果通过temp传递,不知道哪里出错了?CStringCFTPDlg::convertFileSize(CString&temp,lo...
这是一个换算byte程序,换算完成的结果通过temp传递,不知道哪里出错了?
CString CFTPDlg::convertFileSize( CString &temp,long size) {
long kb = 1024;
long mb = kb * 1024;
long gb = mb * 1024;
if (size >= gb) {
return temp.Format(_T("%.1f GB"),(float) size / gb);//================在这一行报错
} else if (size >= mb) {
float f = (float) size / mb;
return temp.Format(f > 100 ?"%.0f MB":"%.1f MB", f);;//================在这一行报错
} else if (size >= kb) {
float f = (float) size / kb;
return temp.Format(f > 100 ?"%.0f KB":"%.1f KB", f);;//================在这一行报错
} else
return temp.Format("%d B", size);
}
=====================报错信息===========================================
1>c:\users\s\documents\visual studio 2010\projects\ftp 2 - 副本\ftp\ftpdlg.cpp(191): error C2664: “ATL::CStringT<BaseType,StringTraits>::CStringT(const VARIANT &)”: 不能将参数 1 从“void”转换为“const VARIANT &” 展开
CString CFTPDlg::convertFileSize( CString &temp,long size) {
long kb = 1024;
long mb = kb * 1024;
long gb = mb * 1024;
if (size >= gb) {
return temp.Format(_T("%.1f GB"),(float) size / gb);//================在这一行报错
} else if (size >= mb) {
float f = (float) size / mb;
return temp.Format(f > 100 ?"%.0f MB":"%.1f MB", f);;//================在这一行报错
} else if (size >= kb) {
float f = (float) size / kb;
return temp.Format(f > 100 ?"%.0f KB":"%.1f KB", f);;//================在这一行报错
} else
return temp.Format("%d B", size);
}
=====================报错信息===========================================
1>c:\users\s\documents\visual studio 2010\projects\ftp 2 - 副本\ftp\ftpdlg.cpp(191): error C2664: “ATL::CStringT<BaseType,StringTraits>::CStringT(const VARIANT &)”: 不能将参数 1 从“void”转换为“const VARIANT &” 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询