Warnings are best practice suggestions, they are not true errors. Visual studio is smart enough to see you created the variables but never used them so they are useless. It is recommending that you get rid of them since you don't use them.
If you actually do something with them then the errors will go away. For example if you said:
number += nullable;
Would get rid of 1 of the errors. If you did something like:
message = message + " and this is more message";
It would get rid of the other error.
I believe it sees the int? as an object and since you are casting it to the nullable variable, it can't figure out if it had been used before hand. I think it has something more to do with the casting just isn't caught as an error because it can't tell if you referenced that variable somewhere else.
I think it would be the equivalent of something like this:
var a = new SomeClass();
var b = a;
Since it can't tell if a has really been used, then it doesn't show an error. If you put that in with a real class it will not show the error also.