从 int 到 long int 的类型转换

Typecasting from int to long int

最近搜索了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 中有 space 时,语法会被 T() 转换混淆。

改写c = a * (long int)b

为此使用括号。 例如

c = a * (long int) (b)

由于类型转换数据类型有多个单词。