NewRobot, предположу, что надо явно указать, что это числа с плавающей точкой
в java например это было бы 1f/3f или 1.0/3.0, скорее всего в c++ подобные способы тоже есть.
Владимир Коротенко, надо.
Ты литерал с типом double хочешь запихнуть в переменную с типом float. Поднимается вопрос: понимаешь ли ты то, что ты пишешь?
Владимир Коротенко, float k = 1/3.0f; - тут слева и справа от = будет тип float и с инициализацией все будет в порядке. Собственно, это и будет полноценным решением вопроса.
NewRobot, Суффиксf является встроенным, результатом подстановки которого будет вещественное число с типом float.
Обычно, когда люди на этом ресурсе пишут float, они пришли из Питона и просто хотят дробный тип. Или, реже, не знают, что по умолчанию в C и C++ рекомендуется использовать double.