указатель на функцию в качестве параметра
Функция GetDataFromServer принимает в качестве параметра какую-то строчку и её возвращает. Функция GetDataFromBase делает то же самое. Функция ShowInfo принимает в качестве параметра указатель на функцию с 1 параметром типа string и должна её вызвать в cout, но как это сделать(подскажите что не так в коде)?
#include <iostream>
#include <string>
using namespace std;
string GetDataFromServer(string DataServer)
{
return DataServer;
}
string GetDataFromBase(string DataBD)
{
return DataBD;
}
void ShowInfo(string(*foo)(string data))
{
cout << foo(data) << endl;
}
int main()
{
string Data = "data is 8";
ShowInfo(GetDataFromBase(Data));
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Здесь
void ShowInfo(string(*foo)(string data))
data не играет никакой роли - как в объявлении функции.
void ShowInfo(string(*foo)(string), string data)
еще куда ни шло. Ну, и вызывать соответственно -
ShowInfo(GetDataFromBase,Data);