VS2010。我正在将 sprintf stmts 转换为 sprintf_s。我注意到有两种实现,来自智能感知:
int sprintf_s<_Size>(char (&_Dest)[_Size], const char *_Format, ...)
int sprintf_s(char * _DestBuf, size_t _SizeInBytes, const char *_Format, ...)
那么编译器怎么会不接受:
void Test(char buf[])
{
sprintf_s<10>(buf, "%s", "test");
}