Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367

C26454: Арифметическое переполнение: операция "-" формирует отрицательный результат без знака во время компиляции (io.5)

04.01.2024, 18:45. Показов 1250. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Жалуется на (DWORD)GetSizeBytesD(Self), дает предупреждение, глаза мозолит... и устрашает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#define GetSizeBytesD(bytes)   (sizeof(bytes) / sizeof(const BYTE*)-sizeof(const BYTE*))
 
template<typename T>
inline const char* __fastcall GetSizeBytesF(_In_ T bytes, _Out_opt_ size_t size) {
    try {
        if (not (sizeof(bytes) / sizeof(T) == 0 or == 1)) size = sizeof(bytes) / sizeof(T) - sizeof(T);
        else if (sizeof(bytes) / sizeof(T) == 1) if (strcmp((const char*)bytes, "\0") == 0) size = 0;
        else if (sizeof(bytes) / sizeof(T) == 0) size = 0;
        else size = sizeof(T);
        return "";
    }
    catch (exception *e) {
        return e->what();
    }
}
inline DWORD __fastcall addSelfToRegistry(void) {
    HKEY key;
    if (RegOpenKeyExW(RunMainHKey, RunSubHKey, NULL, KEY_ALL_ACCESS, (PHKEY)key) != ERROR_SUCCESS) return 0x1;
    const BYTE* Self = getSelf(Arg);
    DWORD size_;
    GetSizeBytesF(Self, (size_t)size_);
    if (RegSetValueExW(key, RunName, NULL, REG_SZ, Self, (DWORD)GetSizeBytesD(Self)) != ERROR_SUCCESS) return 0x2;
    return 0x0;
}
GetSizeBytesF ему больше понравилось, но хочется использовать GetSizeBytesD, так как конструкция
C++
1
2
DWORD size_;
GetSizeBytesF(Self, (size_t)size_);
мне не нравится, (DWORD)GetSizeBytesD(Self) лучше.
Что делать с этим?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2024, 18:45
Ответы с готовыми решениями:

Переполнение при выполнении операции во время компиляции в режиме с проверкой
Вот код: using System; class Program { static void Main() { int a = 10 * ( 80222 *...

Как сократить время компиляции? и как узнать в PyCharm время компиляции?
Помогите пожалуйста, как узнать время компиляции и можно ли сократит время компиляции написав код по разному методом? z=int(input()) ...

Qsort при компиляции выдает переполнение стека
Помогите найти ошибку(при компиляции выдает переполнение стека). Заранее спасибо :) void sort(int *arr, int first, int last) { int i...

22
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
04.01.2024, 19:46  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DrOffset Посмотреть сообщение
ARRAYBOW,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
inline wstring __fastcall getSelf(_In_opt_ const char* args) {
    wstring result;
    DWORD rLen;
    do
    {
        result.resize(result.size() + MAX_PATH);
        rLen = GetModuleFileNameW(0, (LPWSTR)result.data(), result.size());
    } while (GetLastError() == ERROR_INSUFFICIENT_BUFFER);
    result.resize(rLen);
 
    result = L" \"" + result + L"\" ";
    if (args) result += (wstring)((wchar_t*)args);
    return result;
}
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
04.01.2024, 19:55
Цитата Сообщение от ARRAYBOW Посмотреть сообщение
(wstring)((wchar_t*)args);
Это неправильно.

Добавлено через 3 минуты
Будет работать, если в arg лежит латиница так:
C++
1
if (args) result += wstring(args, args + strlen(args));
И не будет работать, если там НЕ латиница.
Если там нелатиница, то нужно делать копирование с преобразованием кодировки.
0
Чугунные скороходы
 Аватар для ARRAYBOW
17 / 16 / 3
Регистрация: 25.12.2022
Сообщений: 367
04.01.2024, 20:21  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
И не будет работать, если там НЕ латиница.
1000000% латиница, это строка для автозагрузки, то есть для реестра
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2024, 20:21

Арифметическое переполнение
Всем привет. Делаю задачу из учебника Лукина. Написал вот такой код, но при выполнении появляется ошибка &quot;арифметическое...

Арифметическое переполнение
Ребят, пишет &quot; Арифметическое переполнение &quot;, в чем ошибка?program lab04; //------------------------------ uses crt; procedure lab4; ...

Арифметическое переполнение
У меня проблема: все программы выдают арифметическое переполнение. В универе дали методичку перевести паскаль в асм, но проблема в том что...

Арифметическое переполнение
Доброго всем времени суток! Никак не могу решить проблему с этим:C26451 Арифметическое переполнение: использование оператора...

Арифметическое переполнение
program massiv; uses crt; const n=20; var mas : array of integer; i : integer; begin randomize; for i:=1 to n do


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru