可能超过花括号?

时间:2012-05-10 06:02:59

标签: c++ operators operator-overloading

我几乎可以肯定没有,但我没有找到一个明确的答案:

是否有可能使花括号过载?如:

class Foo
{
    int i;
    public:
    int operator{}(int _i){return _i+42;};    
};

int main()
{
    Foo f;
    f{2};
    return 0;
}

从未提及,既不允许也不允许。 gcc 4.6不编译它,但这并不意味着标准不允许它,对吧?

1 个答案:

答案 0 :(得分:9)

在C ++中,花括号{}不是[](数组下标运算符)或()(函数调用运算符)的运算符,因此它们不能重载。