gpt4 book ai didi

c++ - 不同命名空间中的相同函数名称

转载 作者:可可西里 更新时间:2023-11-01 17:00:43 25 4
gpt4 key购买 nike

假设我有不同的命名空间类似于 apple 命名空间和 orange 命名空间,但是这两个命名空间都包含一个名为 myfunction() 的函数。

当我在 main() 中调用 myfunction() 时会发生什么?

最佳答案

这正是引入命名空间的目的。

在您的 main() 中,或者通常在 global namespace 中,您将能够选择必须调用的 myfunctions :

int main()
{
apple::myfunction(); // call the version into the apple namespace
orange::myfunction(); // call the orange one
myfunction(); // error: there is no using declaration / directive
}

如果是using 指令(using namespace apple)或using 声明(using apple::myfunction code>), main 的最后一行将调用命名空间 apple 中的版本。如果 myfunction 的两个版本都在范围内,最后一行将再次产生错误,因为在这种情况下,您必须指定必须调用哪个函数。

关于c++ - 不同命名空间中的相同函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31531914/

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