gpt4 book ai didi

c++ - 表达式必须具有整数或枚举类型 Char*

转载 作者:行者123 更新时间:2023-11-28 07:15:07 24 4
gpt4 key购买 nike

我有一个 MFC 项目做这样的事情

CString getTimeString( 无效 ){ SYSTEMTIME 系统时间; CString 日期字符串;

GetSystemTime( &systemTime );

datestr.Format( "%02i/%02i/%04i, %02i:%02i:%02i",
systemTime.wDay, systemTime.wMonth, systemTime.wYear,
systemTime.wHour, systemTime.wMinute, systemTime.wSecond );

return ( datestr + "; " + get_file_info().PName.c_str() + ", " + get_version_info().PVersion.c_str() );

现在我在QT中复制这样的东西

char* getTimeString( void )
{
QDateTime systemTime = QDateTime::currentDateTime();
QString datestr = systemTime.toString() ;



/*GetSystemTime( &systemTime );

datestr.Format( "%02i/%02i/%04i, %02i:%02i:%02i",
systemTime.wDay, systemTime.wMonth, systemTime.wYear,
systemTime.wHour, systemTime.wMinute, systemTime.wSecond );

*/

return ( datestr.toStdString().c_str() + "; " + get_file_info().PName.c_str() + ", " + get_version_info().PVersion.c_str() );
}

它抛出一个错误
"表达式必须有整型或枚举类型... "
仔细看,我意识到因为它不是 std::String 我们不能像这样加起来..所以我的问题是如何在 QT 中以与在 VS2010 中完全相同的方式实现返回函数(如上所示)。

最佳答案

我会通过以下方式做到这一点:

[..]
return QString("%1; %2, %3")
.arg(datestr)
.arg(QString(get_file_info().PName.c_str()))
.arg(QString(get_version_info().PVersion.c_str())).toLocal8Bit().data();

关于c++ - 表达式必须具有整数或枚举类型 Char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20360514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com