可以在C ++中使用动态分配的参数数创建函数吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可以在C ++中使用动态分配的参数数创建函数吗?相关的知识,希望对你有一定的参考价值。
我正在尝试编写一个程序,要求用户输入“他们想要添加多少个数字”,然后在函数中添加所有数字。我想用动态分配的参数数创建添加函数,这样就有X“int num {someNumber}”,其中X是用户想要添加的数字的数量。我目前的代码(非常粗糙)是:
int var = 0;
string multiply(int num);
void testing(int num, multiply(var));
int main(){}
void testing(int num, multiply(var)) {
}//end testing
//Function to append int num{num} to string
string multiply(int num) {
string declaration = "null";
for (int num = 0; num <= var; num++) {
declaration.append("int num" + num);
}//end for
return declaration;
}//end multiply
我意识到仍有工作要做,例如删除最后一个逗号,但是是否可以在函数定义中使用字符串来声明X int num参数?
答案
另一个类似的问题已经存在,请查看答案:Variable number of arguments in C++?
尽管可以使用可变数量的参数定义函数,但您可能还需要考虑迭代或递归地定义程序。
具有可变数量的参数的函数有时可能非常有用,但也可能导致奇怪的边缘情况,例如scanf("%d")
想要扫描整数,但没有给出一个地址来放置它。允许函数调用,扫描的整数将覆盖内存中的(可能很重要的)位置。
以上是关于可以在C ++中使用动态分配的参数数创建函数吗?的主要内容,如果未能解决你的问题,请参考以下文章