确实我有这段代码:
#include <iostream>
double a(){return 1.23;}
double b(){return 1.21;}
int main(){
std::string function0;
return EXIT_SUCCESS;
}
我想要的是:如果function0 ='a'我希望能够在函数a中转换字符串function0,但我不知道如何做到这一点。如果function0等于b,我想调用函数b。
感谢您的帮助!
答案 0 :(得分:0)
您要做的是根据字符串变量的值调用其中一个函数。这很容易实现。
if else
中的main()
构造:
if (function0 == "a") {
foo = a();
} else if (function0 == "b") {
foo = b();
}
合并函数并修改结果,因此根据输入的不同,它的行为会有所不同:
double newFunction (string input) {
double valueForA = 1.23;
double valueForB = 1.21;
if (input == "a") {
return valueForA;
} else if (input == "b") {
return valueForB;
} else {
//what if it's not "a" nor "b"?
return 0;
}
}
用法:
double foo = newFunction(function0);
N.B:
void
函数。答案 1 :(得分:-1)
函数指针可能有所帮助。
double (*funcPtr)();
int main() {
if (function0 == "a")
funcPtr = &a;
else
funcPtr = &b;
(*funcPtr)(); //calling a() or b()
}