下面是我的代码传递字符串作为参考为一个函数指针C++
#include "stdafx.h"
#include <string.h>
#include <iostream.h>
using namespace std;
class ToDoCommands
{
public:
void getCommand(string);
};
void ToDoCommands::getCommand(string command)
{
cout<<command; //here i get ping
void (*CommandToCall)(void);
CommandToCall = command; // error here i want something like
// CommandToCall = ping
CommandToCall();
}
void ping(void)
{
cout<<"ping command executed";
}
int main()
{
ToDoCommands obj;
obj.getCommand("ping");
}
函数指针应参考函数平动态。与函数名称相同的字符串被传递给main中的getCommand函数。
C++少了点这样工作。如果你确实需要这样的东西,你必须创建一个按名称索引的函数表。 –