从整型转换为长整型

人气:53 发布:2023-01-03 标签: int c++ long-integer typecasting-operator

问题描述

最近我搜索了intlong intlong、...诸若此类。我从here得到了答案。我发现longlong int是相同的。所以这些声明 c = a *long(b);

c = a * long int (b)

程序中应相同

int main()
{
    int a = 10, b = 20;
    long int c;
    
    c = a *long(b);
    cout << c;
    
    return 0;   
}

但第二条语句显示错误

[错误]‘long’之前需要主表达式

所以我只想知道,如果longlong int是相同的,那么上述两个语句为什么会有错误?

推荐答案

仅仅因为它们是同一类型并不意味着您可以直接交换源代码中的字符。

T中有空格时,T()强制转换会混淆语法。

改为写c = a * (long int)b

3