【问题标题】:How can I call a function using parameter list in c++?如何在 C++ 中使用参数列表调用函数?
【发布时间】:2015-11-21 11:56:04
【问题描述】:

我有一个不变的功能,比如

void foo(int a, const char* b, int c)
{
}

我想这样调用这个函数:

void main()
{
    paramList.add(1);//adding int
    paramList.add("hello world"); //adding string
    paramList.add(3);//adding int
    foo(paramlist);

}

如何调用 foo 函数,如示例?

【问题讨论】:

  • paramList 是什么?是std::list 吗?此示例无法编译。

标签: c++ function parameter-passing call


【解决方案1】:

您可以创建一个重载函数,该函数接受 paramlist 对象,并提取项目以使用其实际参数调用正确的 foo 函数。

【讨论】:

    【解决方案2】:

    你不能。无论您尝试在调用代码中使用什么技巧,都必须向函数传递三个参数。

    您可能想到的确实存在于 C++ 中并且被称为Named Parameter Idiom。但这需要更改您描述为“不可更改”的功能。


    P.S.:void main 不是合法的 C++。设为int main

    【讨论】:

      猜你喜欢
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多