所以我有多个函数,否则它们具有相同的名称,但每个函数在函数名的末尾只有一个不同的数字,如下所示:
void bark0() { cout << "A small amount of dogs are barking" << endl; } void bark1() { cout << "Some dogs are barking" << endl; } void bark2() { cout << "Bark Bark!" << endl; }
是否有可能从for循环调用所有这些,以便int i将是当前要调用的函数?
for (int i = 0; i < 3; i++) { // Call bark + i at the end || For example bark2(); when i == 2 }
或者是否可以调用以用户输入的数字结尾的函数?
int input; cin >> input; bark+input();
我知道你可以使用指向函数的指针映射,但我想知道是否有一种方法可以调用这样的函数.
编辑:我不想使用参数,因为函数应该做完全不同的事情.这些树皮0,1和2只是例子.
您无法在C/C++中执行此操作,因为编译后函数的名称不是机器代码的一部分.
我会通过创建一个函数指针数组然后调用循环中的索引函数指针来解决这个问题.