передать умные указатели как указатель на функцию - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь передать умный указатель в качестве параметра функции, которая принимает указатель указателя. Мне было интересно, есть ли какое-то правильное решение для этого.

foo(Class** input)
{
   // Do something
}

myClass = std::make_Unique<Class>();

foo(&myClass.get())

1 Ответ

0 голосов
/ 12 сентября 2018

Это не сработает, и это хорошо, что это не так.

Есть примерно две причины, по которым вам нужно сдать Foo**. Это может быть функция, которая хочет двумерный массив (массив указателей на массивы), или функция имеет Foo* в качестве вывода (тогда следовало бы использовать Foo*&). В вашем случае кажется, что вы имеете дело с массивом, так как аргумент называется input.

...