函数的 C++ 可选 std::vector 参数

a c*_*zen 2 c++ vector default-arguments

我在这里看到了一些答案,但它们可能不适用于这里。我有一个(成员)函数,它主要只与一个参数(第一个)一起使用:

const std::complex<double> Class::func(const std::complex<double> &x, \
                                       std::vector<double> &y = 0, \
                                       std::vector<double> &z = 0) const;
Run Code Online (Sandbox Code Playgroud)

我希望 fory并且z是可选的,甚至可能基于 type 的第四个参数string,类似于这样的:func( , , , const std::string &choice),但这只会让我只将一个参数传递给函数,而其他两个参数不会被使用。y例如,如果我确实通过了,它的声明必须在调用之前完成func(),对于 来说也是如此z,但我希望这是可选的,该函数在数学方面可能有点繁重,无需添加如果不需要,计算两个额外向量的负担。这可能吗?

Nim*_*Nim 5

使用指针并传递 a nullptr,检查这个..

const std::complex<double> Class::func(const std::complex<double> &x, \
                                       std::vector<double> *y = nullptr, \
                                       std::vector<double> *z = nullptr) const;
Run Code Online (Sandbox Code Playgroud)

我在这里默认了它们,但这是可选的......