typedef int (* smpi_c_entry_point_type)(int argc, char **argv);
typedef void (*smpi_fortran_entry_point_type)();
-static int smpi_run_entry_point(const smpi_entry_point_type& entry_point, const std::string& executable_path,
- std::vector<std::string> args)
+template <typename F>
+static int smpi_run_entry_point(const F& entry_point, const std::string& executable_path, std::vector<std::string> args)
{
// copy C strings, we need them writable
std::vector<char*>* args4argv = new std::vector<char*>(args.size());