コンパイルエラー…じゃない?あれ?


void func(const int*& p)
{

}

int main()
{
    int* n = 0;
    func(n);

    return 0;
}


コンパイルが通る… VC7.1、bcc32 で確認。

func は cons int* への参照しか取れないと思うのに int* への参照が取れてる…? なんかおかしくね? 取れるとしたら const int* const じゃないのかなぁ〜?


あ、gcc 3.3.2 じゃエラーだ。const int* const & だと通る。

gcc の方が正解な気がする。 …ホント? *1

*1:あんまり自信は無いらしい