C++函数重载中的const类型

class fuck
{
public:
};

int xxx(const fuck&)
{
    std::cout<<"const fuck&"<<std::endl;
    return 0;
}

int xxx(fuck&)
{
    std::cout<<"fuck&"<<std::endl;
    return 0;
}

面的两个函数构成重载,是正确的。

 

int xxx(const int)
{
    std::cout<<"const fuck&"<<std::endl;
    return 0;
}

int xxx(int)
{
    std::cout<<"fuck&"<<std::endl;
    return 0;
}

错误,C2084。

 

int xxx(const int*)
{
    std::cout<<"const fuck&"<<std::endl;
    return 0;
}

int xxx(int*)
{
    std::cout<<"fuck&"<<std::endl;
    return 0;
}

正确,同引用。

posted @ 2013-01-28 19:26  avexer  阅读(151)  评论(0编辑  收藏  举报