Why vexing parse in an if condition? [duplicate]

早过忘川 提交于 2019-12-06 00:03:08

The syntax for a condition does not include classic constructor invocation.

C++11 §6.4/1:

condition:
    expression
    attribute-specifier-seqopt decl-specifier-seq declarator = initializer-clause
    attribute-specifier-seqopt decl-specifier-seq declarator braced-init-list

This is used in if, switch, while and do. I was surprised to now discover that it's used in switch. I never thought of that as a condition.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!