为什么我不能长时间初始化?

时间:2019-02-04 14:34:03

标签: c++ 64-bit long-long

我的VC2017编译器正在显示此行为,有人可以解释我的情况吗?:

long long testLLSigned0 = LLONG_MIN; // OK, equal to -922129006921510580
long long testLLSigned1 = -922129006921510580i64‬; // Error, invalid suffix i64 on integer constant
long long testLLSigned2 = -922337203685477580i64; // OK!
long long testLLSigned3 = -922337203685477580LL; // OK!
long long testLLSigned4 = -‭62129006921510911‬LL; // Error, use of undeclared identifier ‭62129006921510911‬LL
long long testLLSigned5 = -‭62129006921510911i64‬; // Error, use of undeclared identifier ‭62129006921510911i64

1 个答案:

答案 0 :(得分:1)

感谢EljayNathanOlivereerorikauser1810087,我解决了。

未编译代码的最大原因是由于将Windows计算器(!)中的计算值复制到任何现代编辑器(!)中。值62129006921510911已使用不可见 Unicode字符复制到编辑器中!粘贴到vim中的结果显示给我们:-<202d>62129006921510911<202c>LL

侧面说明:使用LL语法,i64语法特定于Microsoft,并且不可移植。