-1

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;
    }
4

1 回答 1

4

您正在声明一个类型为 的变量A,其名称也是A.

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

于 2013-02-27T16:47:54.143 回答