【发布时间】:2020-04-25 02:40:31
【问题描述】:
我对语法++ cast-expression的理解如下:
float p = 3.14;
++(int)p;
但是当我用clang编译它时,它编译失败。那么如何理解++ cast-expression以及有什么用呢? (int)p 是一个 cast-expression 那么为什么它不起作用呢?
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf
【问题讨论】:
-
没有名为
flaot的类型,第二行缺少;。你得到的错误是什么(在修正了这些错别字之后)? -
(int)p不是左值。 -
没有“++ cast”之类的东西,你有的是C-style cast和一个预增量操作,这不是一个操作。
-
@CoryKramer 我认为 OP 不会调用
++演员。语法说++可以跟随一个演员表,OP 询问它什么时候可以发生。 -
编辑希望让这一点更清楚。
标签: c++