почему мне нужна промежуточная переменная для передачи моего указателя возврата по ссылке вместо того, чтобы просто использовать функцию, которая возвращает этот указатель?
Это не компилируется
int main ()
{
testfunc(getpointer());
return 0;
}
ошибка: C2664: 'void testfunc (int *&)': невозможно преобразовать аргумент 1 из 'int *' в 'int *&'
и это компилируется
int main ()
{
int *i = getpointer();
testfunc(i);
return 0;
}
мои две функции
void testfunc(int *& i) // I have to use this interface
{
cout << i[0] <<endl;
}
int* getpointer()
{
int * arr1 = new int[1];
arr1[0]=10;
return arr1;
}
testfunc
внес в него? Помните, чтоtestfunc
принимает неконстантную ссылку. Исправьтеtestfunc
, чтобы он был корректным. - person David Schwartz   schedule 06.10.2016