[C++] NULLの弊害について

#include 

using namespace std;
void f(int)
{
     cout << "int" << endl;
}

void f(int *)
{
     cout << "int *" << endl;
}

int main()
{
     f(NULL); 
     return 0;
}

確かにコンパイルエラー。f(int)を呼び出してしまうらしい。

int main()
{
     int *i = NULL;
     f(i); 
     return 0;
}

問題ない。(gcc3.2.3) f(int *)を呼び出しているし。引数に直接NULLを渡すときだけ注意すればいいということか。じゃあ問題ないな。