
error: no matching function for call to `foo::bar(Qux (&)())`@H_502_12@我知道编译器(g)无法将函数调用与foo成员函数匹配.我特意询问最后的额外内容;这一点:(&)().
作为参考,我的函数调用是这样的:
// insIDe another member function of `foo`Qux qux();this->bar(qux);@H_502_12@酒吧的签名是:
virtual voID bar(Qux&);@H_502_12@编译器还说唯一的候选者是:
virtual voID bar(Qux&);@H_502_12@我的函数调用签名与我的定义签名有何不同,(&)()是什么意思?
解决方法 好吧,(&)()本身并不意味着什么. (&)()只是Qux(&)()的一部分,这意味着引用一个不带任何东西并返回Qux的函数.这是因为:Qux qux(); //PROBLEM!this->bar(qux);@H_502_12@这里的第一行不声明对象.它声明了一个函数.
在C中搜索vexing parse,在这个网站上,你会看到很多关于它的主题,详细讨论这个问题.
总结以上是内存溢出为你收集整理的`(&)()`在C编译器错误消息中的含义是什么全部内容,希望文章能够帮你解决`(&)()`在C编译器错误消息中的含义是什么所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)