как исправить предшествующую ошибку с помощью функции void во время компиляции

#c

#c

Вопрос:

итак, буквально 15 минут назад все было в порядке, все шло без проблем, появилась ошибка, может быть, я изменил то, что не заметил? Я попытался удалить функцию, но та же ошибка перешла на следующие строки (что-то с векторами), я попытался объявить и записать ее прототип в заголовке [1]: https://i.stack.imgur.com/DrJWN.png [2]: https://i.stack.imgur.com/SmS7n.png

код:

  void GradientLine(int x, int y, int w, int h, Color c1, Color c2) {
    g_pSurface->FilledRect(x, y, w, h, c1);
    BYTE first = c2.red;
    BYTE second = c2.green;
    BYTE third = c2.blue;
    for (int i = 0; i < w; i  )
    {
        float fi = i, fw = w;
        float a = fi / fw;
        DWORD ia = a * 255;
        g_pSurface->FilledRect(x   i, y, 1, h, Color(first, second, third, ia));
    }
}

std::vector<trace_info> trace_logs;

Misc     g_Misc;
Hooks    g_Hooks;
Event    g_Event;
BulletEvent g_bEvent;

c_nade_prediction g_nadepred;
 

//////////////////////////////////////////////
и есть часть, в которой эта функция использовалась
//////////////////////////////////////////////

 void Indicators() {
    if (c_config::get().watermark)
    {
        static unsigned int s, v, i;
        static float h, r, g, b, f, p, q, t;

        h = g_pGlobalVars->realtime * 0.1f;
        s = 1;
        v = 1;

        i = floor(h * 6);
        f = h * 6 - i;
        p = v * (1 - s);
        q = v * (1 - f * s);
        t = v * (1 - (1 - f) * s);

        switch (i % 6)
        {
        case 0: r = v, g = t, b = p; break;
        case 1: r = q, g = v, b = p; break;
        case 2: r = p, g = v, b = t; break;
        case 3: r = p, g = q, b = v; break;
        case 4: r = t, g = p, b = v; break;
        case 5: r = v, g = p, b = q; break;
        }

        r = round(r * 255), g = round(g * 255), b = round(b * 255);
        int width, height;
        g_pEngine->GetScreenSize(width, height);

        static int fps, old_tick_count;

        if ((g_pGlobalVars->tickcount - old_tick_count) > 50) {
            fps = static_cast<int>(1.f / g_pGlobalVars->frametime);
            old_tick_count = g_pGlobalVars->tickcount;
        }
        char FPS;
        int radix = 10;
        static char buffer[256];
        std::stringstream ss;
        static unsigned int last_time;

        /////rainbow sync//////
        last_time = GetTickCount();
        Color rainbow;
        rainbow.FromHSV(fmod(last_time * 0.0002f, 1.f), 1.f, 0.5f);
        //////////////////////

        auto net_channel = g_pEngine->GetNetChannelInfo();
        auto local_player = reinterpret_cast<C_BaseEntity*>(g_pEntityList->GetClientEntity(g_pEngine->GetLocalPlayer()));
        std::string incoming = local_player ? std::to_string((int)(net_channel->GetLatency(FLOW_INCOMING) * 1000)) : "0";
        std::string outgoing = local_player ? std::to_string((int)(net_channel->GetLatency(FLOW_OUTGOING) * 1000)) : "0";

        ss << "amaterasu [Alpha]" << " | incoming: " << incoming.c_str() << "ms" << " | outgoing: " << outgoing.c_str() << "ms" << " | fps: " << fps;

        RECT TextSize = g_pSurface->GetTextSizeRect(Globals::SmallText, ss.str().c_str());

        GradientLine(width - (TextSize.right   20), 25, TextSize.right   10, 2, Color(r, g, b, 255), Color(b, r, g, 255));
        g_pSurface->FilledRect(width - (TextSize.right   20), 5, TextSize.right   10, 20, Color(33, 33, 33));
    }
 

синтаксическая ошибка: ‘void’ должно предшествовать ‘;’

Комментарии:

1. итак, я нашел причину, по которой это появляется в моем случае, если я включаю файл, в котором у меня есть массив байтов (звуковой файл, например, wav), тогда появляется эта ошибка. как исправить?

2. Здесь по-прежнему отсутствует важная информация. Сама ошибка, похоже, говорит о том, что в предыдущем операторе отсутствует точка с запятой. Проверьте предыдущую исходную строку, которую видит компилятор (подсказка: она находится в заголовке).