有些函数可以没有参数,变参函数定义

 2023-09-20 阅读 16 评论 0

摘要:定义变参函数时,参数必须用基础类型,如果用std::string会出现莫名错误,原因未知,例如 void CTest::test(const std::string& msg, ...) {va_list argList;CHAR szBuffer[1024] = {0};va_start(argList, msg);  // 此处argList解析到的为

定义变参函数时,参数必须用基础类型,如果用std::string会出现莫名错误,原因未知,例如

void CTest::test(const std::string& msg, ...) {va_list argList;CHAR szBuffer[1024] = {0};va_start(argList, msg);  // 此处argList解析到的为错误内容vsprintf_s(szBuffer, 1024, msg, argList);va_end(argList);std::cout << szBuffer << std::endl;
}void CTest::test(const char* msg, ...) {va_list argList;char szBuffer[1024] = {0};va_start(argList, msg);  // OK,此处解析正确vsprintf_s(szBuffer, 1024, msg, argList);va_end(argList);std::cout << szBuffer << std::endl;
}

 

转载于:https://www.cnblogs.com/mforestlaw/p/3511647.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/80468.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息