msvs12将大括号视为operator()

时间:2015-07-01 06:24:15

标签: c++ visual-studio

#include <iostream>

struct A
{
    void operator()(const char *)
    {
        std::cout << "void operator()(const char *)" << std::endl;
    }
};

int main(int argc, char* argv[])
{
    A a;

    a{"hi"};

    return 0;
}

msvs12对此代码感到满意,我无法理解原因。是bug还是别的什么?

更新:我尝试使用msvs 2013(v12.0.31101.0 Update 4)

1 个答案:

答案 0 :(得分:5)

是的,这是一个错误。 Here is the ticket for it仍然开放。