While it is generally prohibited to rule DCL50-CPP. Do not define a C-style variadic function, such a function forbids creation of such functions, they may still be defined when that function has external, C language linkage (see DCL50-CPP. Do not define a C-style variadic function for details). linkage. Under these circumstances, care must be taken when invoking the va_start()
macro. The C standard library macro va_start()
defines imposes several semantic restrictions on the type of the value of its second parameter. The C Standard, subclause 7.16.1.4, paragraph 4 [ISO/IEC 9899:2011], states:
...