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都不行

我想要达到的结果

请求各位指点

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

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632