【发布时间】:2019-01-04 11:57:22
【问题描述】:
这是有问题的代码示例:
struct A {
A() = delete;
};
int main()
{
// A a(); // compiles, since it's a function declaration (most vexing parse)
// A a; // does not compile, just as expected
A a{}; // compiles, why? The default constructor is deleted.
}
使用任何可用的编译器尝试here。我尝试了几个,但没有找到一个编译错误。
【问题讨论】:
-
感谢您指出它是重复的。我不想删除它,因为它是一个更简洁的版本——我在这里转发了这个问题,因为我和问我的人都找不到链接的原件。
标签: c++ c++11 language-lawyer uniform-initialization