无法使用右值初始化变量

时间:2019-06-20 03:46:25

标签: c++11

尝试创建只能在堆中实例化的类。

class Test1
{
    Test1();
    Test1(const Test1 &);
public:
    static Test* getObject() 
    {
        return new Test();
    }
};

int main()
{
    Test1* ptr1 = Test1::getObject();
}

错误:

ObjectOnHeapOnly.cpp:39:12: error: cannot initialize a variable of type 'Test1 *' with an rvalue of type 'Test *'
    Test1* ptr1 = Test1::getObject();
           ^      ~~~~~~~~~~~~~~~~~~
1 error generated.

0 个答案:

没有答案