小编Ant*_*ton的帖子

不能仅通过返回类型来区分过载功能

我正在阅读"Effective C++"并尝试从规则3编译此示例:

class TextBlock
{
public:
    const char& operator[](size_t position) const
    {
        return text[position];
    }
    char& operator[](size_t position) const
    {
        return const_cast<char&>(
            static_cast<const TextBlock&>(*this)
            [position]
        );
    }
private:
    string text;
};
Run Code Online (Sandbox Code Playgroud)

这必须描述如何防止代码重复; 不写相同的代码来返回非const结果.我正在使用VS2012.但是我收到了一个错误.我听说重载的函数不能有不同的返回类型,但看到这个后我不知道该怎么想.

c++ overloading

3
推荐指数
1
解决办法
5755
查看次数

标签 统计

c++ ×1

overloading ×1