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