开发者社区 问答 正文

error C2079 类的前置声明

如下代码,可运行:

void A();
void test()
{
A();
}
void A() {};
但是我把void改成class时候却运行失败:
class A;
void test()
{
A a;
}
class A {};

当然如果用指针的话还是可以的,然而并没什么用,因为指针声明后就没有然后了。

展开
收起
a123456678 2016-03-09 10:43:11 1749 分享 版权
1 条回答
写回答
取消 提交回答
  •  class A;
    
    void test();
    
    class A 
    {
    public:
        int x;
        A() {}
    };
    
    void test()
    {
        A *a = new A();
        a->x = 1;
    }
    
    int main()
    {
        test();
    }
    2019-07-17 18:55:33
    赞同 展开评论
问答地址: