gpt4 book ai didi

c++ - unsigned long vs size_t 导致函数重载失败

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:55 26 4
gpt4 key购买 nike

我定义了一个函数:

void myfunc(size_t param1, size_t param2){
...
}

它工作正常。但是当我尝试重载这个函数时

void myfunc(unsigned long param1, unsigned long param2){
...
}

编译失败,提示如下:错误:无法重载 myfunc(unsigned long param1, unsigned long param2)。

如何在不将输入参数静态转换为 size_t 的情况下解决这个问题?

谢谢!

最佳答案

听起来 size_t 和 unsigned long 在您的系统上是同一类型;编译器提示你有两个相同的功能。此外,使用多种数字类型进行重载通常不是一个好主意,因为由于强制转换的可能性,编译器可能无法识别您想要的重载。尝试改用模板:

template <T>
void myfunc(T param1, T param2){
...
}

关于c++ - unsigned long vs size_t 导致函数重载失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29956627/

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