这个行为叫什么?我在这里初始化A级吗?

时间:2013-02-27 16:37:01

标签: c++

A A函数g的含义是什么?叫什么行为?我在初始化class A吗?有人可以解释一下吗?谢谢你宝贵的时间!

    #include<iostream>
    using namespace std;

    class A {
        public:
    };

    void g()
    {
        A A; 

//if I declare 'A A;' and 'A a1' together here, then I could get an error "[Error] expected ';' before 'a1' " 
    }

    main(){
        A a2;
    }

1 个答案:

答案 0 :(得分:4)

您声明了A类型的变量,其名称也是A

在声明之后,直到作用域结束,非限定名称A引用变量,而不是类型;所以声明A a1;无效。由于类型位于全局命名空间中,因此即使在声明变量::A之后,您也可以将其称为A