【发布时间】:2017-10-31 07:30:34
【问题描述】:
我阅读了this 问题,该问题解释了匿名变量在 C++ 中如何无效。
但以下程序在 GCC 7.2 上编译时没有任何警告或错误(即使使用 -Wall)-demo:
int main() {
int (*); // anonymous variable?
}
这里,这显然也是一个整数类型的匿名变量。那么,为什么 GCC 不显示任何错误或警告呢?这是 GCC 错误吗?
【问题讨论】:
-
你使用了哪些编译器标志?
-
This 确实令人惊讶。 @Jayesh 在你的问题中写下所有相关信息。
-
确实,
-c -Wall -Wextrag++-7编译器只说clang++-5.0给出错误:expected expression 在右括号上。也许它可能是一些编译器错误(我不知道谁错了)。 -
@PasserBy - 它是在创建一个临时的吗?
int()是一个函数类型。情节变厚 -
@PasserBy - 此外,forcing it to be a temporary (by replacing
()with{}) 绝对不会产生任何诊断结果。
标签: c++ variables gcc anonymous