在将它作为参数传递给方法之前,是否必须对c ++中的指针进行引用?

时间:2013-08-29 05:05:01

标签: c++ pointers reference argument-passing

我有一个类似于以下的C ++代码。

class TestA
{

};

class TestB
{
    bool CreateTestAObject( TestA *& arg );
};

基本上我有一个名为TestA的班级。在另一个名为TestB的类中,我在TestB内部有一个名为CreateTestAObject( TestA *& arg )的方法,它创建了一个新的TestA对象。该方法必须返回一个布尔值,指示方法的成功或失败。因此,为了返回新创建的TestA对象,我使用了参数列表,引用了类型TestA类的指针。

在main()函数中,我做了,

TestB objB;
TestA* ptrA = NULL;

objB.CreateTestAObject( ptrA  );

我的问题是,当我编译它时,我收到以下错误。

no matching function for call to TestB::CreateTestAObject(TestA *)
note: candidates are: bool TestB::CreateTestAObject(TestA *&)

我在这里做错了什么?参数是否需要转换为TestA*&,如果是,为什么?提前谢谢。

0 个答案:

没有答案