LINUX.ORG.RU

Что такого интересного делает qWarning()

 


0

2

Добавление qWarning() << 5; Изменяет работу кода. Что такого интересного делает это?

Пример кода не привожу, потому что он большой. Есть функция которая срабатывает по нажатию пробела. Без qWarning не работает.



Последнее исправление: cetjs2 (всего исправлений: 1)

Угадай автора по треду.

Шаблон такой: «Ой, ребяты, я что-то добавил, и вся моя программа стала работать не так. Но код не покажу».

hvatitbanit
()

<telepathy>

std::cout.flush();
std::cerr.flush();
</telepathy>

Kosyak ★★★★
()

Ничего не делает. У тебя undefined behaviour где-то. Выучи сначала спп, а потом уже за кути берись.

nanoolinux ★★★★
()
Ответ на: комментарий от x0r

у knotri даже код не рабочий.

Один qWarning() и все работает)

Осилю гитхаб, скину вам код.

knotri
() автор топика
Ответ на: комментарий от hvatitbanit

Но код не покажу

https://github.com/knotri/Qt_bug

Вот, не работает функция Ship::fire(); Которая вызывается в событии нажатия клавиатуры (пробела). Добавление qWarning() делает так что бы функция работала.

knotri
() автор топика
Ответ на: комментарий от knotri
class vector {
    float x,y;
    float normal(){
        float dist = sqrt(x*x + y*y);
        x/=dist;
        y/=dist;

    }

    float angel(){
        float aaan;
        if(y == 0){
            aaan = 0;
        }else{
            aaan = -atan(x/y)+3.1415926/2;
        }
        if(y > 0){aaan += 3.1415926;}
        return aaan;
    }
};

angel
float x,y;
if(y == 0){
bullet.erase(bullet.begin()+i);

удачи :/

Stil ★★★★★
()
Ответ на: комментарий от knotri

angel - это такое хитрое противное создание, которое всё время норовит испортить жизнь Винчестерам.

Видимо ты имел ввиду angle?:)

И в чем же проявляется отличие в поведении?
На вскидку - qWarning(), как и любой другой код имеет свойство некоторое время выполняться, а т.к. таймера у тебя ажно два, то мало ли, что, где, не срослось?

batbko
()
Ответ на: комментарий от knotri

1. где профайл?

2. почему не исправляешь предупреждения компилятора?

3. на каком основании ты решил, что Ship::fire() не вызывается?

Stil ★★★★★
()
Ответ на: комментарий от knotri

Мде. Твой код работает в зависимости от погоды на марсе(ну и от того, что раньше произойдет, отрисовка или рассчет). А всё потому, что надо инициализировать переменные.

batbko
()

Слышь ТС, а че ты пишешь, а?

nickionn ★☆
()
Ответ на: комментарий от uber_cat

покажь «libastral.h», а то уменя дальше include «libastral.h» не проходит, ругается английскими матами «file not found» =)

Atlant ★★★★★
()

Что такого интересного делает qWarning()

для ответа на этот вопрос достаточно посмотреть во вполне себе открытые исходники Qt

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

во вполне себе открытые исходники Qt

Имелось в виду что оно с моим кодом делает.

knotri
() автор топика
Ответ на: комментарий от Stil

да все у него там вызывается.

Пули то нет.

knotri
() автор топика
Ответ на: комментарий от knotri

Браво. А теперь обьясни, зачем тебе 2 таймера?:)

batbko
()

Ответ очень простой, но он слишком длинный, поэтому я тебе его не напишу. Давй досвидания.

trex6 ★★★★★
()
Ответ на: комментарий от Silencer

есть же M_PI в math.h

дык не линкуется math вместе с libastral. Точнее линковаться линкуется, но код потом падает с division by zero... Я пробовал. Вот и приходится самому костылить...

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.