On 20/08/2018 8:34 PM, Andrey wrote:
Hello,
Here is a code that you can execute using online compiler
https://run.dlang.io/:
import std.stdio;
void main()
{
ushort first = 5;
ushort second = 1000;
ushort result = first + second;
writeln(result);
}
I hae this error:
onlineapp.d(7): Error: cannot implicitly convert expression
cast(int)first + cast(int)second of type int to ushort
Why they are "int" when I declared them as "ushort"???
ushort + ushort = ushort, not int.
In C++ there aren't any such issues...
It's called integer promotion and it originates from C.
And yes C++ does have such support in some variant (I really don't feel
like comparing the two).