gpt4 book ai didi

c++ - 为什么这是 gcc 中的 "overloading ambiguity"?

转载 作者:行者123 更新时间:2023-11-30 02:12:42 24 4
gpt4 key购买 nike

为什么这是一个错误:IE。 long long 和 long double 不是不同的类型吗?

../src/qry.cpp", line 5360: 
Error: Overloading ambiguity between "Row::updatePair(int, long long)"
and "Row::updatePair(int, long double)".

调用代码:.. pRow -> updatePair(924, 0.0); pRow -> updatePair(925, 0.0);.

最佳答案

常量 0.0 是 double 类型,它不直接匹配您的重载函数。您可能希望编译器选择 long double 版本,但编译器不想为您做出这样的假设。

您需要更明确地说明您希望编译器调用哪个版本:

pRow -> updatePair(924, 0.0L);

将调用 long double 版本。

或:

pRow -> updatePair(924, 0LL);

将调用 long long 版本。

关于c++ - 为什么这是 gcc 中的 "overloading ambiguity"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1498874/

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