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;
}
答案 0 :(得分:4)
您声明了A
类型的变量,其名称也是A
。
在声明之后,直到作用域结束,非限定名称A
引用变量,而不是类型;所以声明A a1;
无效。由于类型位于全局命名空间中,因此即使在声明变量::A
之后,您也可以将其称为A
。