#include <iostream>
#include <cstring>
using namespace std;
string DataFromBD()
{
return "Data From BD";
}
string DataFromWEBSER()
{
return "Data From WEBSER";
}
void ShowInfo(string str)
{
cout << str << endl;
}
void main()
{
string a;
cin >> a;
ShowInfo(a());// надо правильно написать здесь!
}
Ваша строка не может указывать на функцию. Можно сделать например так:
std::unordered_map < string, string(*)()> call{
{"DataFromBD", DataFromBD},
{"DataFromWEBSER", DataFromWEBSER}
};
string a;
cin >> a;
ShowInfo(call[a]());
или
string(*F)() = DataFromBD;
string a;
cin >> a;
if (a == "DataFromWEBSER")
F = DataFromWEBSER;
ShowInfo(F());
По разному, только нужно как нибудь указывать на функцию.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей