为什么变量和函数不能具有相同的名称?

时间:2020-07-20 10:05:05

标签: c++

我读了article,解释了为什么函数和变量不能具有相同的名称,大多数人说这是因为如果我试图获得这些地址,编译器将无法理解我想要的,但是在C ++中,重载函数是有效的,如果我尝试获取重载函数的地址,它将产生一个错误,那么为什么不仅仅在获取变量和函数具有相同名称的同时产生一个错误,谁能告诉我为什么C ++标准不允许它吗? / p>

1 个答案:

答案 0 :(得分:3)

尝试获取具有相同名称的变量和函数的地址时,无需产生错误,因为you cannot have variables and functions with the same name in the same scope

如果一个范围较小,而隐藏,则没有冲突,也没有理由产生错误。

在不提供解析提示的情况下尝试获取重载函数的地址会产生错误,因为编译器实际上无能为力。它不知道您在说什么功能。