Другое С/С++ Вопрос - Ответ

iAmerican

Известный
Друг
611
261
Не хранить в себе адрес элемента на который должен указывать, грубо говоря.
В твоём первом посте в функции есть проверка каждого элемента на валидность.
Понял , только как может быть что координата будет равно нулю?)) Че то бред какой то , но щас проверю
 

san0

Известный
Друг
412
275
Понял , только как может быть что координата будет равно нулю?)) Че то бред какой то , но щас проверю
Он говорит про разыменование нулевого указателя и, как следствие, неопределённое поведение.
 
  • Нравится
Реакции: BlackKnigga

vasiliy130198

Новичок
27
0
Подскажите пожалуйста.. Использую imGUI. Возможно ли с помощью него рисовать текст и фигуры вне самого окна? Вчера скачал проект и, изучив его немного, думаю что нельзя так..
Если это так, то что тогда можно использовать для этого дела? Если есть что-то по типу этого imGUI -- вообще прекрасно)
 

BlackKnigga

Известный
BH Team
922
450
Подскажите пожалуйста.. Использую imGUI. Возможно ли с помощью него рисовать текст и фигуры вне самого окна? Вчера скачал проект и, изучив его немного, думаю что нельзя так..
Если это так, то что тогда можно использовать для этого дела? Если есть что-то по типу этого imGUI -- вообще прекрасно)
DirectX
 

CleanLegend

Известный
Всефорумный модератор
495
950
Подскажите пожалуйста.. Использую imGUI. Возможно ли с помощью него рисовать текст и фигуры вне самого окна? Вчера скачал проект и, изучив его немного, думаю что нельзя так..
Если это так, то что тогда можно использовать для этого дела? Если есть что-то по типу этого imGUI -- вообще прекрасно)
Функция:
C++:
void DrawRect(LPDIRECT3DDEVICE9 Device_t, int X, int Y, int L, int H, D3DCOLOR color)
{
    D3DRECT rect = { X, Y, X + L, Y + H };
    Device_t->Clear(1, &rect, D3DCLEAR_TARGET, color, 0, 0);
}
Закидываешь туда где рисуешь
C++:
DrawRect(pDevice, X, Y , 10, 10, 0xFF00FF00);
 
  • Нравится
Реакции: vasiliy130198

_Vine_

Активный
154
57
В чем тут проблема?
Переделал код из SF API в консольное приложение C++, в SF API не работает вообще, а в консольном приложении ошибку выбивает.
Не могу вернуть значение массива по указателю, плохо тему указателей и ссылок понял.
Код:
C++:
#include "stdafx.h"
#include <iostream>
using namespace std;

void Test(char *&abc)
{
    abc = "YOOB";
}

void main()
{
    char* abc = (char*)malloc(256);
    Test(abc);
    cout << abc << endl;
    free(abc);
    system("pause");
}
xbKTSU6.png
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
void foo(char *&message) {
    message = "hello world";
}

int main() {
    char *buffMessage;
    foo(buffMessage);
    std::cout << buffMessage;
}

зы: за using namespace std; пальцы отрубают
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

vasiliy130198

Новичок
27
0
Как в ImGUI рендерить картинку? Поиск "ImGui::Image" в поисковике ни к чему не привёл(
И, если можно пожалуйста, рендер этой же картинки уже средствами DirectX (чтобы она была не в окне imgui, а в любом месте на экране) :-[
Думаю хоть какой-то пример сможет помочь не только мне
Спасибо заранее) :thank_you:
 

CleanLegend

Известный
Всефорумный модератор
495
950
Как в ImGUI рендерить картинку? Поиск "ImGui::Image" в поисковике ни к чему не привёл(
И, если можно пожалуйста, рендер этой же картинки уже средствами DirectX (чтобы она была не в окне imgui, а в любом месте на экране) :-[
Думаю хоть какой-то пример сможет помочь не только мне
Спасибо заранее) :thank_you:
Перегоняешь картинку в массив байт, задаешь переменную, инициализируешь, рисуешь
 

Dark_Knight

Me, me and me.
Друг
4,080
2,112
Как в ImGUI рендерить картинку? Поиск "ImGui::Image" в поисковике ни к чему не привёл(
И, если можно пожалуйста, рендер этой же картинки уже средствами DirectX (чтобы она была не в окне imgui, а в любом месте на экране) :-[
Думаю хоть какой-то пример сможет помочь не только мне
Спасибо заранее) :thank_you:
C++:
stTextureInfo *texture;
ImGui::Image((void *)texture->pTexture, ImVec2(40, 40));
Конечно переменная texture должна быть иницилизированная
 

_Vine_

Активный
154
57
Как вернуть значение из потока?
Например:
C++:
void getText(int *&val)
{
    *val = 5;
}

void main()
{
    int val = 2;
    DeleteObject(CreateThread(0, 0, (LPTHREAD_START_ROUTINE)getText, &val, 0, 0));
    printf("%d\n", val);   
}
Должно вывести в консоль 5, но выводит 2.