| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Член указатель глобальной переменной |
| Автор: Saphir 25.2.2010, 19:24 |
| Здравствуйте. Создал проект MFC, в нем 3 диалога: главный диалог, диалог для ввода данных и диалог для вывода. Передавать данные я хочу через глобальные переменные. Объявляю глобальную переменную в диалоге ввода, там инициализирую ее, вызывая метод, в котором выделяю память и инициализирую члены, в том числе член-указатель этой памятью. Отладчик показывает, что все члены объекта были правильно инициализированы. Далее в диалоге вывода я объявляю эту переменную с параметром extern, и в конструкторе диалога вывода я вызываю метод этой глобальной переменной, пытаясь инициализировать переменные диалога. При вызове этого метода в отладчике значение члена-указателя - Bad Ptr. Вопросы: почему там Bad Ptr и как получить вместо Bad Ptr нормальный указатель?.. |
| Автор: Andrey44 26.2.2010, 05:50 |
| Saphir, покажи как объявляешь. Работа с глобальными переменными - не есть хорошо. |
| Автор: Saphir 26.2.2010, 10:51 | ||||||
Andrey44, это моя первая программа, использующая MFC. Поэтому сначала решил попробовать такой способ и наткнулся на эту ошибку...
В реализации диалога ввода
В реализации диалога вывода
|
| Автор: Andrey44 26.2.2010, 11:52 | ||
|
| Автор: Saphir 26.2.2010, 12:52 |
| Теперь вылезает Out.obj : error LNK2001: unresolved external symbol "class CTv tv" в реализации диалога вывода, несмотря на то что там есть #include "In.h" (заголовочный файл диалога ввода) |
| Автор: Andrey44 26.2.2010, 15:45 | ||
ну да, конечно Лучше тогда глобальный объект делать указателем, потому что его надо инициализироватьж
|
| Автор: Saphir 26.2.2010, 16:13 |
| Все та же ошибка линковки осталась. |