У меня есть код 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*&
и если да, то почему? Заранее спасибо.
Задача ещё не решена.
Других решений пока нет …