Форум программистов, компьютерный форум CyberForum.ru

Не могу проверить переменную класса на соответствие NULL - C++

Восстановить пароль Регистрация
 
igorbelykh
8 / 8 / 2
Регистрация: 01.03.2013
Сообщений: 85
12.03.2013, 14:06     Не могу проверить переменную класса на соответствие NULL #1
Здравствуйте.

Есть переменная класса
C++
1
private char *pGetQuery;
В конструкторе ей присваивается NULL
C++
1
pGetQuery = NULL;
При вызове метода класса пытаюсь проверить переменную
C++
1
if(pGetQuery != NULL)
Но проверка всегда выдает истину. Что неправильно делаю?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 14:06     Не могу проверить переменную класса на соответствие NULL
Посмотрите здесь:

Как проверить переменную на пустоту? C++
Как получить private переменную класса, функцей членом другого класса C++
C++ Дочерние классы используют переменную базового класса
C++ Проверить программу на соответствие числа открывающихся и закрывающихся круглых и фигурных скобок
Ссылка на переменную другого класса C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
StasGamilton
Эксперт по пяченькам
 Аватар для StasGamilton
67 / 67 / 1
Регистрация: 16.08.2011
Сообщений: 258
12.03.2013, 14:13     Не могу проверить переменную класса на соответствие NULL #2
Посмотрите, что содержится в этой переменной. Проверьте вызывается ли нужный конструктор (присваивается ли pGetQuery значение NULL), и нигде ему еще чего-нить не назаначается. Тут вообще-то не помешал бы код класса и использование его.
srg_btl
33 / 33 / 2
Регистрация: 21.02.2013
Сообщений: 90
12.03.2013, 14:25     Не могу проверить переменную класса на соответствие NULL #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
class A
{
public:
  A():ptr(NULL) {}
  ~A() 
  { 
    if(ptr == NULL) 
    {
      cout << "Pointer NULL"; 
    }
    else
    {
    // Удаляем память
    ptr = NULL;
    }
  } 
private:
  char* ptr;
};
 
int main()
{
  A a;
 
  return 0;
}
Все отлично работает, кинь больше кода, где ты еще юзаешь эту переменую
igorbelykh
8 / 8 / 2
Регистрация: 01.03.2013
Сообщений: 85
12.03.2013, 14:26  [ТС]     Не могу проверить переменную класса на соответствие NULL #4
Цитата Сообщение от StasGamilton Посмотреть сообщение
Посмотрите, что содержится в этой переменной. Проверьте вызывается ли нужный конструктор (присваивается ли pGetQuery значение NULL), и нигде ему еще чего-нить не назаначается. Тут вообще-то не помешал бы код класса и использование его.
Конструктор вызывается. Больше нигде пока не участвует данная переменная, поэтому случайное присвоение другого значения исключено.
srg_btl
33 / 33 / 2
Регистрация: 21.02.2013
Сообщений: 90
12.03.2013, 14:39     Не могу проверить переменную класса на соответствие NULL #5
Ну тогда наверное ошибка где-то после этого
C++
1
if(pGetQuery != NULL)
возможно не правильно блок выделил или еще что-то в этом роде, т.к. судя по тому что ты написал все нормально должно работать
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.03.2013, 14:43     Не могу проверить переменную класса на соответствие NULL #6
igorbelykh, чтобы что-то подсказать, нужно видеть код. Ясновидящих тут нет.
-=ЮрА=-
Заблокирован
Автор FAQ
12.03.2013, 15:08     Не могу проверить переменную класса на соответствие NULL #7
Цитата Сообщение от alsav22 Посмотреть сообщение
чтобы что-то подсказать, нужно видеть код. Ясновидящих тут нет.
поддержу.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2013, 16:25     Не могу проверить переменную класса на соответствие NULL
Еще ссылки по теме:

Как проинициализировать структурную переменную в конструкторе класса? C++
C++ Пишет мусор в переменную класса, использование strcpy
Изменить переменную методами класса C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
igorbelykh
8 / 8 / 2
Регистрация: 01.03.2013
Сообщений: 85
12.03.2013, 16:25  [ТС]     Не могу проверить переменную класса на соответствие NULL #8
Все разобрался. Допустил ошибку: в конструкторе вызывал перегруженный конструктор. Соответственно срабатывал деструктор и все переменные удалялись.
Yandex
Объявления
12.03.2013, 16:25     Не могу проверить переменную класса на соответствие NULL
Ответ Создать тему
Опции темы

Текущее время: 05:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru