如何从字符串中调用C++函数?
而不是这样做,直接从字符串调用方法:
void callfunction(const char* callthis, int []params)
{
if (callthis == "callA")
{
callA();
}
else if (callthis == "callB")
{
callB(params[0], params[1]);
}
else if (callthis == "callC")
{
callC(params[0]);
}
}
Run Code Online (Sandbox Code Playgroud)
在C#中我们使用typeof()然后从那里获取方法信息和调用...我们可以在C++中使用什么?
替代方案:您可以使用函数指针数组并使用其索引调用所需的函数。
typedef void (*TFunc)(int, int);
TFunc arrptr[100];
void callFunction(int index, int params[])
{
(*arrptr[index])(params[0], params[1]);
}
Run Code Online (Sandbox Code Playgroud)