从int到long int的类型转换

Sir*_*lam 0 c++ int long-integer typecasting-operator

最近我搜索的区别int,long int,long,...等等.我从这里得到了答案.我发现long并且long 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;   
}
Run Code Online (Sandbox Code Playgroud)

但第二个声明显示错误

[错误]预期'long'之前的primary-expression

所以,我只是想知道,如果longlong int是相同的,那么为什么会出现错误在以上两种说法?

Lig*_*ica 7

仅仅因为它们是相同类型并不意味着您可以在源代码中逐字交换字符.

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

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