从int到long int的类型转换

时间:2016-06-24 10:52:15

标签: c++ int 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;   
}

但第二个陈述显示错误

[错误]预期在长期&#39;之前的主要表达式

所以我只想知道,如果longlong int相同,那么为什么上述两个陈述中出现错误?

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:0)

Use brackets for this. eg.

c = a * (long int) (b)

As type casted data type have multi-words.