为什么我不能按预期初始化长篇



>我的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

感谢Eljay,NathanOliver,eerorika & user1810087,我解决了它。

代码无法编译的最大原因是将计算值从Windows计算器(!(复制到任何现代编辑器(!(中。值62129006921510911是用不可见的 unicode 字符复制到编辑器内部的!粘贴到 vim 中时的结果向我们显示: - <202d>62129006921510911<202c>LL

旁注:使用 LL 语法,i64 语法特定于Microsoft,不可移植。

相关内容

  • 没有找到相关文章

最新更新