如下代碼,可運行:
void A();
void test()
{
A();
}
void A() {};
但是我把void改成class時候卻運行失敗:
class A;
void test()
{
A a;
}
class A {};
當然如果用指針的話還是可以的,然而並沒什麼用,因為指針聲明後就沒有然後了。
class A;
void test();
class A
{
public:
int x;
A() {}
};
void test()
{
A *a = new A();
a->x = 1;
}
int main()
{
test();
}