vs2019 версия 16.11.1 < /p>
Параметр функции функционирует неправильно при включении оптимизации < /p>
Ниже приведен минимальный пример кода, который я создал для воспроизведения проблемы: < /p>
Локальная переменная «старая» в «inner_func», чтобы кэшировать значение «x» и передавать его функции «inner_print» для печати < /li>
Она должна выводить 32, но фактический вывод составляет 10 при сборке релиза (сборка отладки в порядке и у него нет этой проблемы) < /li>
< /ol>
#include
using namespace std;
class foo {
public:
foo() {
x = 32.0f;
min_x = 4.0f;
}
void func(float val) {
if (val < get_min_value()) {
val = get_min_value();
}
inner_func(val);
}
protected:
void inner_func(float val) {
float old = x;
x = val;
inner_print((int)old);
}
virtual float get_min_value() {
return min_x;
}
void inner_print(int val) {
cout ps20222) < /p> ps2019, vs2022) < /p> ps2022). Является ли отчет о аналогичной проблеме в сообществе разработчиков VS:
c ++ Компилятор: параметр функции передается неправильно при включении оптимизации < /p>
Подробнее здесь: https://stackoverflow.com/questions/713 ... rameter-is
Это ошибка компиляции C ++ Visual Studio 2019? (Параметр функции передается неправильно при включении оптимизации) ⇐ C++
Программы на C++. Форум разработчиков
1746380018
Anonymous
vs2019 версия 16.11.1 < /p>
Параметр функции функционирует неправильно при включении оптимизации < /p>
Ниже приведен минимальный пример кода, который я создал для воспроизведения проблемы: < /p>
Локальная переменная «старая» в «inner_func», чтобы кэшировать значение «x» и передавать его функции «inner_print» для печати < /li>
Она должна выводить 32, но фактический вывод составляет 10 при сборке релиза (сборка отладки в порядке и у него нет этой проблемы) < /li>
< /ol>
#include
using namespace std;
class foo {
public:
foo() {
x = 32.0f;
min_x = 4.0f;
}
void func(float val) {
if (val < get_min_value()) {
val = get_min_value();
}
inner_func(val);
}
protected:
void inner_func(float val) {
float old = x;
x = val;
inner_print((int)old);
}
virtual float get_min_value() {
return min_x;
}
void inner_print(int val) {
cout ps20222) < /p> ps2019, vs2022) < /p> ps2022). Является ли отчет о аналогичной проблеме в сообществе разработчиков VS:
c ++ Компилятор: параметр функции передается неправильно при включении оптимизации < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/71346026/is-this-a-c-compilation-bug-of-the-visual-studio-2019-function-parameter-is[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия