Narrow conversation
float l1[3] = {(MaxX/100.)*Percentage, (MaxY/100.0)*Percentage, 0};
main.cpp|44|предупреждение: narrowing conversion of «((((double)MaxX) / 1.0e+2) * 3.0e+1)» from «double» to «float» inside { } [-Wnarrowing]|
Да где же тут double, если MaxX объявлена, как float? Это лечится явным приведением типов?
UPD: гм, действительно, константа оказалась double. Плохой warning.
Хороший.
((((double)MaxX) / 1.0e+2) * 3.0e+1) - вот это все вот было вычислено как double. а не только MaxX.
А под to «float» имеется в виду float l1[3]
:-)
Люди отвечают.
Разве вы не этого хотели?
А по пяти строчкам оценить умственные способности могут немногие избранные...
Сообщения компилятора писали ну уж точно не идиоты, и называть их "плохими" - это не вежливо, как минимум.
Как в анекдоте -
- "До меня не дошло ваше сообщение!"
- "Прочтите его еще раз!"
Ну я когда получаю сообщения от компилятора, стараюсь перестроить код так, чтобы не получать их вообще -
например, никакой надобности нет в использовании int16 - экономии памяти не будет, так как со времен даже 486 все читается-пишется блоками по 4 байта в целях увеличения производительности.
Не проверял, но никогда не использую float если на это нет особой причины - все равно все вычисления оптимизированы под double, так зачем умничать?
Что неправильно я понял в сообщении?
Кому нужно?
:-)
Понимаешь, в чем фокус - формой оплаты за ответ на форуме является возможность позанудствовать всласть.
Я же не нанятый тобой специалист, который делает то, что тебе нужно, и без лишних разговоров...
:-)
И судя по твоему эмоциональному высказыванию - я не один такой гад. "Тенденция, однако..." (с)
Формально—будет.Но,допустим,размер инструкций вырастет на 1 байт,т.к. добавится префикс 0x66 для работы со словами