Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 29.03.2011, 18:21   #1
Gen_r_questions
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 81
По умолчанию Ссылки

Почему выдает ошибку ?
Код:
<?php
function &bar()
{
     $a = 5;
     return &$a;
}
foo(bar());
?>
Gen_r_questions вне форума Ответить с цитированием
Старый 29.03.2011, 18:33   #2
KJLOYH
Новичок
Джуниор
 
Регистрация: 29.03.2011
Сообщений: 2
По умолчанию

может так
<?php
function bar()
{
$a = 5;
return $a;
}
foo(bar());
?>
KJLOYH вне форума Ответить с цитированием
Старый 29.03.2011, 18:36   #3
Gen_r_questions
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 81
По умолчанию

В обоих случаях ошибка, но 1-ый способ логичнее-возвращаться же должна ссылка
Gen_r_questions вне форума Ответить с цитированием
Старый 30.03.2011, 07:30   #4
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,755
По умолчанию

Код:
&bar()
Амперсант перед названием ф-ии не ставиться, ф-я не переменная! Ссылка должна указывать на переменную(участок памяти).
Код:
$a = 5;
return &$a;
Переменная $a локальная и будет уничтожена после завершения ф-ии, возвращать ссылку на неё некорректно.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылки Lotles Общие вопросы C/C++ 1 08.10.2010 23:02
Ссылки segail Microsoft Office Excel 6 13.10.2009 21:16
Ссылки!!! саманта Помощь студентам 18 27.09.2008 20:38


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS