我正在尝试将一个函数作为参数传递给一个模板类 - 目标是随后可以传递任何函数作为参数并实现不同的功能:
int A()
{
return 0;
}
void Test() {
auto B2 = B<int(*A)()>(&A);
}
int main()
{
Test();
}
但我遇到了编译问题:
$ c++ -std=c++14 try.cpp
try.cpp: In function 'void Test()':
error: cast from 'int (*)()' to 'int' loses precision [-fpermissive]
auto B2 = B<int(*A)()>(&A);
^ ^
我该如何使用任何返回类型和接受任何参数的函数来实例化B类并解决编译问题?