convertir de référence de pointeur de la représentation en C++

Est-il un moyen de "convertir" une référence de pointeur en c++? Dans l'exemple ci-dessous, func a déjà défini prototype et je ne peux pas le changer, mais func est mon API, et j'aimerais passer les deux paramètres, ou de l'une (et le deuxième set NULL), ou ni l' (à la fois la valeur NULL):

void func2(some1 *p1, some2 *p2);

func(some1& obj, some2& obj2)
{
   func2(..);
}
"&", de même que pour les non références. Comme dans func2(&obj, &obj2)
Vous pouvez prendre l'adresse de référence. Il vous donne l'adresse de l'visées à l'objet. I. e. vous pouvez le faire func2(&obj1, NULL). Notez qu'il n'existe pas de moyen de passer NULL à func; il n'y a pas une telle chose comme un NULL de référence.
NULL références sont faciles à créer. int* pi = 0; int& ri = π. Bien sûr, c'est méchant, mais pas impossible et parfois fait par accident.
Ce n'est pas la création d'référence NULLE, c'est la création d'un comportement indéfini.
Oh, il n'existe, tout droit.... (frissons)... vous ne voudriez pas croire les choses que j'ai vu... juste ... ne me demandez pas d'y retourner, c'est tout.

OriginalL'auteur Mark | 2013-09-26