我有一个可以返回任何类型、接受命令和 FormData 对象的调度程序。这个想法是我希望在传递特定内容时从 FormData 继承。
struct FormData {};
struct Form : FormData {};
void login(const Form *f){}
enum Command
{
LOGIN
};
template <typename T>
T dispatch(const Command command, const FormData *f)
{
switch (command)
{
case LOGIN: login(f);
}
return T();
}
int main()
{
Form f;
dispatch<void>(LOGIN, &f);
return 0;
}
我收到一条错误消息,提示无法从 Form 转换为 FormData。我拿走了模板,一切正常(但我需要模板)