【发布时间】:2014-02-01 05:19:05
【问题描述】:
以下面的示例代码为例:
typedef std::vector<uint8_t> uint8Vect_t;
void setSomeThing(int value, uint8Vect parameters)
{
//... do some stuff ...
if (parameters.size() > 0)
{
//... do some stuff with parameters ...
}
}
int main(void)
{
uint8Vect intParams;
intParams.push_back(1);
intParams.push_back(2);
// Case 1 - pass parameters
setSomeThing(1, intParams);
// Case 2 - pass no parameters, default value should be used
setSomeThing(1);
return 0;
}
我的问题是我想为函数的向量参数设置一个默认值,如下所示:
setSomeThing(int value, uint8Vect parameters = 0)
如果没有传入参数“parameters”,则默认使用空向量。但是我无法弄清楚语法应该是什么 - 如果可能的话。我知道我可以使用重载函数,但我还是想知道如何做到这一点。
【问题讨论】:
-
你试过
setSomeThing(int value, uint8Vect parameters = 0)吗? -
@LuchianGrigore err...不,我不想这样做,因为它似乎是错误的! :o
标签: c++ vector default-value