gondola729 2022-04-11 11:48 采纳率: 100%
浏览 112
已结题

c++中time.h函数报错:应输入声明,缺少函数标题(是否老式的形式表?)

问题遇到的现象和发生背景

调试代码发现time.h文件竟然报了25个错误,这个不是系统文件吗,为什么有错,而且错误都集中在AppCRT Time Function片段中

问题相关代码,请勿粘贴截图

//
// AppCRT Time Functions
//

Success(return != 0)
Ret_writes_z(26)
Check_return _CRT_INSECURE_DEPRECATE(asctime_s)
_ACRTIMP char* __cdecl asctime(
In struct tm const* _Tm
);

#if STDC_WANT_SECURE_LIB
Success(return == 0)
Check_return_wat
_ACRTIMP errno_t __cdecl asctime_s(
Out_writes(_SizeInBytes) Post_readable_size(26) char* _Buffer,
In_range(>= , 26) size_t _SizeInBytes,
In struct tm const* _Tm
);
#endif

__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, asctime_s,
Post_readable_size(26) char, _Buffer,
In struct tm const*, _Time
)

Check_return
_ACRTIMP clock_t __cdecl clock(void);

Ret_z
Success(return != 0)
Check_return _CRT_INSECURE_DEPRECATE(_ctime32_s)
_ACRTIMP char* __cdecl _ctime32(
In __time32_t const* _Time
);

Check_return_wat
_ACRTIMP errno_t __cdecl _ctime32_s(
Out_writes(_SizeInBytes) Post_readable_size(26) char* _Buffer,
In_range(>= , 26) size_t _SizeInBytes,
In __time32_t const* _Time
);

__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, _ctime32_s,
Post_readable_size(26) char, _Buffer,
In __time32_t const*, _Time
)

Ret_z
Success(return != 0)
Check_return _CRT_INSECURE_DEPRECATE(_ctime64_s)
_ACRTIMP char* __cdecl _ctime64(
In __time64_t const* _Time
);

Check_return_wat
_ACRTIMP errno_t __cdecl _ctime64_s(
Out_writes_z(_SizeInBytes) Post_readable_size(26) char* _Buffer,
In_range(>= , 26) size_t _SizeInBytes,
In __time64_t const* _Time
);

__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, _ctime64_s,
Post_readable_size(26) char, _Buffer,
In __time64_t const*, _Time
)

Check_return
_ACRTIMP double __cdecl _difftime32(
In __time32_t _Time1,
In __time32_t _Time2
);

Check_return
_ACRTIMP double __cdecl _difftime64(
In __time64_t _Time1,
In __time64_t _Time2
);

Success(return != 0)
Check_return _CRT_INSECURE_DEPRECATE(_gmtime32_s)
_ACRTIMP struct tm* __cdecl _gmtime32(
In __time32_t const* _Time
);

Check_return_wat
_ACRTIMP errno_t __cdecl _gmtime32_s(
Out struct tm* _Tm,
In __time32_t const* _Time
);

Success(return != 0)
Check_return _CRT_INSECURE_DEPRECATE(_gmtime64_s)
_ACRTIMP struct tm* __cdecl _gmtime64(
In __time64_t const* _Time
);

Check_return_wat
_ACRTIMP errno_t __cdecl _gmtime64_s(
Out struct tm* _Tm,
In __time64_t const* _Time
);

Success(return != 0)
Check_return _CRT_INSECURE_DEPRECATE(_localtime32_s)
_ACRTIMP struct tm* __cdecl _localtime32(
In __time32_t const* _Time
);

Check_return_wat
_ACRTIMP errno_t __cdecl _localtime32_s(
Out struct tm* _Tm,
In __time32_t const* _Time
);

Success(return != 0)
Check_return _CRT_INSECURE_DEPRECATE(_localtime64_s)
_ACRTIMP struct tm* __cdecl _localtime64(
In __time64_t const* _Time
);

Check_return_wat
_ACRTIMP errno_t __cdecl _localtime64_s(
Out struct tm* _Tm,
In __time64_t const* _Time
);

Check_return
_ACRTIMP __time32_t __cdecl _mkgmtime32(
Inout struct tm* _Tm
);

Check_return
_ACRTIMP __time64_t __cdecl _mkgmtime64(
Inout struct tm* _Tm
);

Check_return_opt
_ACRTIMP __time32_t __cdecl _mktime32(
Inout struct tm* _Tm
);

Check_return_opt
_ACRTIMP __time64_t __cdecl _mktime64(
Inout struct tm* _Tm
);

Success(return > 0)
Check_return_wat
_ACRTIMP size_t __cdecl strftime(
Out_writes_z(_SizeInBytes) char* _Buffer,
In size_t _SizeInBytes,
In_z Printf_format_string char const* _Format,
In struct tm const* _Tm
);

Success(return > 0)
Check_return_wat
_ACRTIMP size_t __cdecl _strftime_l(
Out_writes_z(_MaxSize) char* _Buffer,
In size_t _MaxSize,
In_z Printf_format_string char const* _Format,
In struct tm const* _Tm,
In_opt _locale_t _Locale
);

Check_return_wat
_ACRTIMP errno_t __cdecl _strdate_s(
Out_writes(_SizeInBytes) When(_SizeInBytes >= 9, Post_readable_size(9)) char* _Buffer,
In size_t _SizeInBytes
);

__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(
errno_t, _strdate_s,
Post_readable_size(9) char, _Buffer
)

__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(
Success(return != 0) char*, __RETURN_POLICY_DST, _ACRTIMP, _strdate,
Out_writes_z(9), char, _Buffer
)

Check_return_wat
_ACRTIMP errno_t __cdecl _strtime_s(
Out_writes(_SizeInBytes) When(_SizeInBytes >= 9, Post_readable_size(9)) char* _Buffer,
In size_t _SizeInBytes
);

__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(
errno_t, _strtime_s,
Post_readable_size(9) char, _Buffer
)

__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(
char*, __RETURN_POLICY_DST, _ACRTIMP, _strtime,
Out_writes_z(9), char, _Buffer
)

_ACRTIMP __time32_t __cdecl _time32(
Out_opt __time32_t * _Time
);

_ACRTIMP __time64_t __cdecl _time64(
Out_opt __time64_t * _Time
);

Success(return != 0)
Check_return
_ACRTIMP int __cdecl _timespec32_get(
Out struct _timespec32* _Ts,
In int _Base
);

Success(return != 0)
Check_return
_ACRTIMP int __cdecl _timespec64_get(
Out struct _timespec64* _Ts,
In int _Base
);

运行结果及报错内容

错误(活动) E0169 应输入声明 CalPennPartCS C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\time.h 131
警告 C4003 类函数宏的调用“throw”参数不足 CalPennPartCS C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\time.h 135
错误 C2447 “{”: 缺少函数标题(是否是老式的形式表?) CalPennPartCS C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\time.h 135

我的解答思路和尝试过的方法

按照网上提供的方法,把time.h的编码格式调成UTF-8,或者UTF-8-BOM都不行

我想要达到的结果

请求各位指点

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2022-04-11 12:11
    关注

    错误跟time本身无关,就像你说的,库函数本身是没问题的。有问题的是你使用库函数的代码,所以还是把你的代码贴出来看看吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月20日
  • 已采纳回答 4月12日
  • 创建了问题 4月11日

悬赏问题

  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂