Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Объекты ColdFusion передаются ссылкой. Нет действительно способа передать объект значением, но можно создать копию с помощью дубликата () функция.
Ну, имейте в виду, что использование дубликата () не работает в MX 7 на копирование определенных вещей, как CFCs и COM, CORBA и объекты Java. можно скопировать CFC в CF 8, все же.
Сложные объекты, такие как структуры и CFCs передаются ссылкой, но если Вы передаете массив UDF, это передается значением. Это лишает возможности писать определяемую пользователем функцию, которая видоизменяется, массив как встроенные функции массива делают. Если действительно необходимо передать массив ссылкой, можно обернуть ее в структуру, и затем она будет передана ссылкой.
FWIW, массивы также передаются по ссылке в механизме Railo CFML, как полагают многие разработчики. Ожидается, что Railo 3.1 также будет предлагать административные настройки, позволяющие выбрать поведение по умолчанию для дополнительной совместимости с Adobe CF.