関数の引数に参照渡しで何も渡さないようにするはどうすればよいですか

自作クラスAがあったとして、それを引数にとる関数
void hoge(int& p1, A& p2)
があります。

ただ、p2は、ケースによっては要らない場合もあって、その場合にはどうすればよいですか。

調べてみたらnullptrみたいなのはあったので、
int p1 = 1;
hoge(p1, nullptr);
と書いてみても、
非constの左辺が何とかとエラーが出て、渡せませんでした。