本文介绍了定义具有相同名称的类和变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有以下代码:

int x;

//void x(); // error: redefinition of 'x' as different kind of symbol

class x {}; // works ok

int main() {
   return 0;
}

为什么用同样的名称定义变量和类是合法的不合法定义变量和函数具有相同的名称?

Why is it legal to define variable and class with the same name but it is not legal to define variable and function with the same name?

推荐答案

这里发生的是特定于C ++。 x 作为类名的使用被隐藏。

What's going on here is specific to C++. The use of x as a class name is hidden.

第3.3.7节

这篇关于定义具有相同名称的类和变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 05:45