gpt4 book ai didi

c++ - 错误 : More than one instance of overloaded function matches the argument list

转载 作者:搜寻专家 更新时间:2023-10-31 01:39:53 27 4
gpt4 key购买 nike

我正在使用 OpenMesh 库,它们提供了两个函数 edge(),它们仅在常量方面有所不同。 Const edge()对比edge() .有没有办法向编译器指定我想使用哪个函数?

看起来这应该是与库不同的设计决策,但不确定我是否可以更改它,所以如果有什么我可以做的来在编译器中绕过它...我正在使用 VS2013。

我知道人们已经问过有关此错误的问题,但我没有发现任何对此类情况有帮助的信息。

最佳答案

我假设你的情况是这样的:你有一个

class aclass
{
edge_t edge(void) ;
edge_t edge(void) const ;
} ;

如果您有一个 const 对象,将调用第二个版本,否则将调用非 const。所以如果你有

const aclass x ;
aclass y ;

x.edge() ; // calls the second
y.edge() ; calls the first
const_cast<const aclass &>(y).edge() ; // calls the const (second)

后者是一种(相对)安全的作弊方式......

关于c++ - 错误 : More than one instance of overloaded function matches the argument list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30510573/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com