【发布时间】:2011-04-27 01:31:30
【问题描述】:
为什么 0f 在 C++ 中不被视为浮点字面量?
#include <iostream>
using namespace std;
int main(){
cout << 0f << endl;
return 0;
}
编译上面给了我
C2509(语法错误:'数字后缀错误')
使用 VS2008。
【问题讨论】:
-
“为什么”关于语言设计中任意小点的问题通常无法得到令人满意的回答。
-
@David - 谢谢,伙计。这是非常有用的信息。
-
@Vulcan:不幸的是,这已经提供了尽可能多的信息。您并没有比 Oli Charlesworth 和 Dakota Hawkins 在下面的答案更好,而且您对他们不满意。从根本上说,您是在询问三十多年前在 C 语法中做出一个小决定的原因。很可能没有明确的原因。
-
很难理解为什么这个问题有 6 票反对。这是一个很好的问题,可以深入了解解析器和扫描器的工作原理。
-
@coaddict:我认为它不应该被否决,但与此同时,我认为我们没有学到任何关于解析器的有趣之处!它只是一个任意的语言规范,在实践中没有任何影响。
标签: c++ syntax floating-point syntax-error notation