unsigned long long(10)无法在clang和gcc上编译

蒂莫

以下代码被clang和gcc拒绝,但被msvc接受:

#include <iostream>

int main() 
{
    std::cout << unsigned long long(10);
}

错误是

错误:“未签名”之前的预期主表达式

哥德宝

这个应该编译吧?

雷米·勒博

不,您所显示的内容不应编译。有关详细信息,请参见cppreference.com上的显式类型转换

在函数样式转换中,类型名称中不允许使用空格。对于此类类型,您将需要使用C样式或C ++样式强制转换,例如:

std::cout << ((unsigned long long)10);
or
std::cout << static_cast<unsigned long long>(10);

否则,请改用类型别名,例如:

using ull = unsigned long long; // C++11 and later
or
typedef unsigned long long ull; // pre-C++11

std::cout << ull(10);

注意,<cstdint>标题可能具有uint64_t您可以使用类型,例如:

#include <cstdint>

std::cout << uint64_t(10);
or
std::cout << ((uint64_t)10);
or
std::cout << static_cast<uint64_t>(10);

话虽如此,对于整数文字,您也可以使用ULL后缀(C ++ 11和更高版本),例如:

std::cout << 10ULL;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

unsigned long long(10)无法在clang和gcc上编译

来自分类Dev

unsigned long long的问题

来自分类Dev

从unsigned long long转换为unsigned int

来自分类Dev

Unsigned long long overflow error?

来自分类Dev

long long转换为unsigned long的问题

来自分类Dev

`unsigned long long`太小,无法代表数字?

来自分类Dev

C unsigned long long和imulq

来自分类Dev

检查unsigned long long是否可用

来自分类Dev

Unsigned long long溢出错误?

来自分类Dev

奇怪的unsigned long long int行为

来自分类Dev

Printf Unsigned Long 的奇怪输出

来自分类Dev

NSLogs中的unsigned int和unsigned long Xcode警告

来自分类Dev

Xcode Clang编译器中的unsigned long long意外行为

来自分类Dev

无法将boost :: lambda :: ...转换为long long unsigned int

来自分类Dev

iOS崩溃CFNetwork CoreStreamBase :: _ streamSetEventAndScheduleDelivery(unsigned long,unsigned char)

来自分类Dev

编译器宏以测试uint64_t和unsigned long long int之间的差异

来自分类Dev

编译器宏以测试uint64_t和unsigned long long int之间的差异

来自分类Dev

将 MAX 与 unsigned long 和 unsigned long 减法一起使用

来自分类Dev

在条件断点中使用unsigned long

来自分类Dev

What is the equivalent of unsigned long int in c#?

来自分类Dev

在条件断点中使用unsigned long

来自分类Dev

unsigned long 大于 0xFFFFFFFF

来自分类Dev

是否可以保证std :: streampos是unsigned long long?

来自分类Dev

如何将unsigned long long转换为double

来自分类Dev

Java相当于unsigned long long不是BigInteger吗?

来自分类Dev

为什么double可以存储比unsigned long long更大的数字?

来自分类Dev

c ++ usigned long long range vs mysql unsigned bigint range

来自分类Dev

将unsigned long long转换为float并失去精度

来自分类Dev

在C ++中将字符串转换为unsigned long long

Related 相关文章

  1. 1

    unsigned long long(10)无法在clang和gcc上编译

  2. 2

    unsigned long long的问题

  3. 3

    从unsigned long long转换为unsigned int

  4. 4

    Unsigned long long overflow error?

  5. 5

    long long转换为unsigned long的问题

  6. 6

    `unsigned long long`太小,无法代表数字?

  7. 7

    C unsigned long long和imulq

  8. 8

    检查unsigned long long是否可用

  9. 9

    Unsigned long long溢出错误?

  10. 10

    奇怪的unsigned long long int行为

  11. 11

    Printf Unsigned Long 的奇怪输出

  12. 12

    NSLogs中的unsigned int和unsigned long Xcode警告

  13. 13

    Xcode Clang编译器中的unsigned long long意外行为

  14. 14

    无法将boost :: lambda :: ...转换为long long unsigned int

  15. 15

    iOS崩溃CFNetwork CoreStreamBase :: _ streamSetEventAndScheduleDelivery(unsigned long,unsigned char)

  16. 16

    编译器宏以测试uint64_t和unsigned long long int之间的差异

  17. 17

    编译器宏以测试uint64_t和unsigned long long int之间的差异

  18. 18

    将 MAX 与 unsigned long 和 unsigned long 减法一起使用

  19. 19

    在条件断点中使用unsigned long

  20. 20

    What is the equivalent of unsigned long int in c#?

  21. 21

    在条件断点中使用unsigned long

  22. 22

    unsigned long 大于 0xFFFFFFFF

  23. 23

    是否可以保证std :: streampos是unsigned long long?

  24. 24

    如何将unsigned long long转换为double

  25. 25

    Java相当于unsigned long long不是BigInteger吗?

  26. 26

    为什么double可以存储比unsigned long long更大的数字?

  27. 27

    c ++ usigned long long range vs mysql unsigned bigint range

  28. 28

    将unsigned long long转换为float并失去精度

  29. 29

    在C ++中将字符串转换为unsigned long long

热门标签

归档