-Werror=conversion
とかコンパイルオプション厳しくしちゃうと
short n = 1;
const short m = 2;
n += m;
って通らないの!?
prog.cc: In function 'int main()':
prog.cc:10:7: error: conversion from 'int' to 'short int' may change value [-Werror=conversion]
10 | n += m;
| ~~^~~~
Implicit integer promotion 後の代入が許せないってこと??
ぐぬぬぬ…。