☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

将非 POD 对象传入可变参数列表

C++-Undefined-Behavior-31
目录 › next › previous

可变参数列表是 C 语言的概念,C++ 中具有拷贝构造或析构函数的对象难以与其兼容,如果将非 POD 对象传入可变参数列表,程序的行为在 C++03 中是未定义的,在 C++11 中是部分由实现定义的。

示例:

string str;
void foo(int, ...);

foo(1, str);   // Undefined behavior

依据

ISO/IEC 14882:2003 5.2.2(7)-undefined ISO/IEC 14882:2011 5.2.2(7)-implementation

规则

ID_nonPODVariadicArgument ID_badVaArgType ID_forbidVariadicFunction
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.