Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这段代码:
struct F { F() = delete; void foo() {}; }; int main() { F{}.foo(); }
现场演示在这里。
可以说我假设它不会编译(因为我们正在调用已删除的构造函数)。为什么它可以在我尝试过的任何编译器上编译?
我注意到不使用统一初始化,编译代码会导致预期的错误。那么为什么在存在已删除构造函数的情况下仍然允许(聚合?)初始化?