Либо я совсем дурак,либо у QT какйто свой C++
QObject *a[3];
if(a[0]){....код...}
Если объект не объявлен то [код] не выполняется,логично.
QObject *a[3];
a[0]=new QObject();
if(a[0]){....код...}
Тут [код] выполняется.
Если объявить
QObject *a[3];
в заголовочном файле
То if(a[0]) всегда будет true,т.е. почемуто считается что объект объявлен?
НО
Если объявить в заголовочном файле
QObject *a;
И проверить if(a){....код...} Будет ВЕРНО(т.е. отвечать false если не объявлен) работать,ПОЧЕМУ?
Конечно есть вариант что я забыл/недоучил С++
Также добавлю-у меня пол программы щас отвалилось из-за этого,причем qt я не обновлял,обновил только gcc,и старый бинарник работает,а новый компилируется и падает.
Что за магия такая?
Спасибо за помощь.
c++, qt