Function VS2017-使用具有相同参数的不同模板参数重载函数时出错

Function VS2017-使用具有相同参数的不同模板参数重载函数时出错,function,c++11,templates,visual-c++,overloading,Function,C++11,Templates,Visual C++,Overloading,使用具有相同参数的不同模板参数重载函数时出错 在VS2017中,我遇到了一个错误 错误C2535:“bool” 然而,这两个函数声明显然有不同的参数 这段代码在GCC上编译得很好 我在这里发现了一个类似的错误: 有没有人能提出一个解决方案,因为我想在linux和windows上编写相同的代码,并使用GCC和MSVC进行编译。我认为最好是准备一些简单的示例,可以复制粘贴到最喜欢的编程环境中,这样人们就可以开始破解这个问题。您的代码段缺少类定义。顺便说一句,另一个问题中带有虚假默认参数的解决方案在

使用具有相同参数的不同模板参数重载函数时出错

在VS2017中,我遇到了一个错误

错误C2535:“bool”

然而,这两个函数声明显然有不同的参数

这段代码在GCC上编译得很好

我在这里发现了一个类似的错误:


有没有人能提出一个解决方案,因为我想在linux和windows上编写相同的代码,并使用GCC和MSVC进行编译。

我认为最好是准备一些简单的示例,可以复制粘贴到最喜欢的编程环境中,这样人们就可以开始破解这个问题。您的代码段缺少类定义。顺便说一句,另一个问题中带有虚假默认参数的解决方案在您的情况下不起作用吗?@luk32谢谢,我已经提供了完整的类作为示例。我不能完全遵循其他解决方案,您建议如何实现它。我在这里没有看到任何模板参数。函数参数类型是类型,而不是模板或任何东西
first_graph::node
是一种类型
second_graph::node
是一种类型。如果它们是相同的类型,则会出现错误。这段代码绝对不足以确定这一点,因为它没有定义
图形
。是我对你的代码的理解。正如您所看到的,它不在GCC上编译。如果这不是您想要的,请提供一个@n.m也
节点
图形
中的嵌套类。它不像您的示例中的
struct a
那样是
typdef