-1
void RenderTextl(float x, float y, ImU32 Color, StringFlag Flags, ImFont* pFont, float Size, const char* Format)
{
    ImDrawList*   DrawList;
    static char Buffer[1024] = "";

    va_list List;
    va_start(List, Format);
    vsnprintf_s(Buffer, 1024, Format, List);
    va_end(List);

    if (Flags & centered_x || Flags & centered_y)
    {
        ImVec2 TextSize = pFont->CalcTextSizeA(Size, FLT_MAX, 0.0f, Buffer);
        if (Flags & centered_x)
        {
            x -= TextSize.x / 2;
        }

        if (Flags & centered_y)
        {
            y -= TextSize.y / 2;
        }
    }

    DrawList->AddText(pFont, Size, ImVec2(x + 1, y + 1), ImColor(0, 0, 0, 100), Buffer);
    DrawList->AddText(pFont, Size, ImVec2(x - 1, y - 1), ImColor(0, 0, 0, 100), Buffer);
    DrawList->AddText(pFont, Size, ImVec2(x + 1, y), ImColor(0, 0, 0, 100), Buffer);
    DrawList->AddText(pFont, Size, ImVec2(x - 1, y), ImColor(0, 0, 0, 100), Buffer);
    DrawList->AddText(pFont, Size, ImVec2(x, y - 1), ImColor(0, 0, 0, 100), Buffer);
    DrawList->AddText(pFont, Size, ImVec2(x, y + 1), ImColor(0, 0, 0, 100), Buffer);

    DrawList->AddText(pFont, Size, ImVec2(x, y), Color, Buffer);
}

введите сюда описание изображения

Harry
  • 221,325
lance
  • 1
  • 2
    Интересно, каким принципом вы руководствуетесь, когда выбираете способ написания переменной? – ArchDemon Aug 05 '19 at 17:52
  • стандартных(уникальное имя, первая буква латинского алфавита и тд) – lance Aug 05 '19 at 17:57
  • 2
    ImDrawList* DrawList; ??? Куда указывает этот указатель? –  Aug 05 '19 at 18:03
  • на структуру ImDrawList – lance Aug 05 '19 at 18:13
  • А память под него вы выделить не забыли? Новообще ошибка не в этом, ошибка линковщика это. Какой именно символ не разрешен? – Дмитрий Зиненко Aug 05 '19 at 18:22
  • И назовите переменные с маленькой буквы. Они могут, случайно, с название класса пересечься, а вы это и не заметите. Класс List, Color, Format и DrawList вполне могут где-то в программе встретиться. Потом будете долго ошибку искать. Параметры и локальные переменные во всех код стайлах именуют с маленькой буквы. – Дмитрий Зиненко Aug 05 '19 at 18:33
  • http://prntscr.com/ooqza0 – lance Aug 05 '19 at 20:08

1 Answers1

0

Судя по скриншоту, у вас не находит функцию-член класса Render::RenderTextl. Опять же, судя по тому, что вы привели определение свободной функции RenderTextl, ошибка в том, что вы просто забыли при определении дописать Render::, чтобы указать, что это - член класса...

void Render::RenderTextl(float x, float y, ImU32 Color, StringFlag Flags, ImFont* pFont, float Size, const char* Format)
{
    ImDrawList*   DrawList;
    static char Buffer[1024] = "";

    ...

P.S. Вопросы надо задавать, предоставляя полностью всю информацию - вы же не на допросе в гестапо, а скорее на приеме у доктора... Конкретное сообщение об ошибке должно было быть сразу внесено в вопрос.

Harry
  • 221,325