C++ 编译的时候提示:error C2440: “初始化”: 无法从“errno_t”转换为“tm *”

这是我完整的代码:在structtm*sysTime=localtime_s(&timeinfo,&nowTime);这句和下面的那句上编译出错提示:errorC2440... 这是我完整的代码:

在struct tm *sysTime = localtime_s(&timeinfo,&nowTime);这句和下面的那句上 编译出错提示:error C2440: “初始化”: 无法从“errno_t”转换为“tm *”。
书上写的是localtime(&newtime) 我用VS2013提示过一遍只能使用localtime_s(),查过MSDN,localtime_s是errno_t localtime_s( struct tm* _tm, const time_t *time );
localtime则是struct tm*…………

在下面一段里我强制转换了localtime_s的类型 编译成功了 出现了以下的窗口:

但是当我输入命令(1,2,3)之后,就这样了:

求C++大神帮忙解答一下谢谢QAQ(鞠躬
展开
 我来答
jiangsanhuo
推荐于2018-03-03 · TA获得超过169个赞
知道小有建树答主
回答量:291
采纳率:81%
帮助的人:175万
展开全部
这个函数就是返回errorno_t啊,转换后的时间在timeinfo结构里面返回。 你可以检查返回的错误代码rrorno_t err= localtime_s(&timeinfo, &nowTime);
if(0 == err)
{
cout<<timeinfo.tm_hour;
...
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wchyumo2011
2015-11-15 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2843万
展开全部
先定义一个tm,然后传进去,如
struct tm a;
localtime_s(&a,&nowtime);
不需要定义变量进行接收
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a1012144015
2015-11-15 · TA获得超过6415个赞
知道大有可为答主
回答量:9038
采纳率:40%
帮助的人:1356万
展开全部
怎么感谢,,,,呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式