#include <iostream>

void voidfunc(void (*func_ptr)(void))
{
	func_ptr();
}

void funcwithargs(void (*func_ptr)(int, char, std::string), int a, char b, std::string c)
{
	func_ptr(a, b, c);
}

int main()
{
	auto vf = []{std::cout<<"Called void func..\n";};
	auto vfwa = [](int a, char b, std::string c) {std::cout<<"Called func with args with: "<<a<<b<<" "<<c<<"\n";};
	
	voidfunc(vf);
	funcwithargs(vfwa, 10, 'x', " + 3");
	return 0;
}