gpt4 book ai didi

C++:如何在两个不同的重载函数中使用具有两个不同名称的相同数据类型?

转载 作者:太空狗 更新时间:2023-10-29 23:34:21 25 4
gpt4 key购买 nike

我有以下声明来区分它在我的代码中使用不同的操作:

typedef unsigned int SOMEIDTYPE;

现在当我创建两个重载函数时:

string something(const unsigned int &val){ ... itoa(val) ... }
string something(const SOMEIDTYPE &val){ ... IDTABLE[val] ... }

我收到错误:error C2084: function 'std::string something(const unsigned int &)' already has a body

那么,我如何重载此函数以区别使用这两种不同的数据类型,并执行如上所示的不同操作?

编辑:重载的原因是我在模板函数中调用这个函数。

最佳答案

它们不是不同的数据类型,typedef 不会创建不同的类型,它会创建别名。因此,对于编译器来说,它看到两个具有相同名称的函数接受一个参数,两者类型相同。

关于C++:如何在两个不同的重载函数中使用具有两个不同名称的相同数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4270955/

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