我有一个类似于以下的 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*&
,如果是,为什么?提前致谢。