我正在使用Linux平台并使用GNU C++编译器.我试图解决一个链接错误,说明某些符号未定义.我可以使用命令行中提供的名称查找库,并查看它们包含有问题的符号(使用'nm'实用程序).
我知道在编译步骤中,我可以使用命令行标志'-H'而不是'-c'来获取编译中#included的头文件列表.链接器是否有类似的选项?我想如果我能看到链接器用来处理每个'-lmylibrary'标志的文件列表,我可以进一步排除故障.
我想写一个这样的函数:
def genericCase[T]() : PartialFunction[Any, T] = {
case Wrapper(_, item: T) => item
case Wrapper(item: T, _) => item
}
Run Code Online (Sandbox Code Playgroud)
总之,我想要一种方法来重用不同类型的模式匹配结构.
编译器告诉我,由于类型擦除,case x: T将永远不会匹配.做这种通用案例陈述的替代方法是什么?我还尝试在反射API中使用Types作为函数的参数,但我们无法弄清楚.