gpt4 book ai didi

c - 如何在C函数中使某些参数可选

转载 作者:太空宇宙 更新时间:2023-11-04 06:02:53 25 4
gpt4 key购买 nike

我有一种情况,我希望函数的参数之一是可选的。我想知道如何实现它......?

    int mapgw_cm_trace(int trapLog, char *pcMsgId, ...)

我希望traplog参数是可选的。

或者从另一个角度来看,如果函数调用中未发送此参数,我将此参数设置为默认值(比如 1)...否则使用函数调用中发送的值。有可能实现这一点..?我不想使用 va_args()

最佳答案

VA 列表不好的原因有很多,最明显的是它们的类型安全性很差。避开它们。

在 C 语言中,通常的做法是记录函数,说明如果 trapLog 有这个或那个值,那么它就不会被使用。如果它应该有任何值(value),那么您可以将函数重写为:

int mapgw_cm_trace (const int* trapLog, char *pcMsgId)

并记录如果 trapLog == NULL 它将不会被使用。

关于c - 如何在C函数中使某些参数可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16030268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com