Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > структура и облясть видимости


Автор: NOCaut 29.8.2011, 19:42
Код

struct IconDB
{     
     CppSQLite3DB *base;
          void Open();
          wchar_t * SQLGetConfigValue(char *Key);
}


Open - тут инициализация переменной . К ней свободно доступаюся
SQLGetConfigValue - тут переменная уже неинициализована. как такое может бить ?

Автор: mes 29.8.2011, 20:14
Цитата(NOCaut @  29.8.2011,  18:42 Найти цитируемый пост)
Open - тут инициализация переменной . К ней свободно доступаюся
SQLGetConfigValue - тут переменная уже неинициализована. как такое может бить ? 

во первых какая перемнная ?! во вторых как связана область видимости и инициализация ?!
в общем вопрос не понят.. полагаю что в open вы инициализируете локальную переменную.. 

Автор: newbee 30.8.2011, 09:19
Инициализация всех переменных происходит еще до конструктора; по умолчанию и/или в списке инициализации.

Автор: NOCaut 30.8.2011, 10:55
у структури нету конструктора ж.

Автор: mekhanikus 30.8.2011, 11:01
Цитата(NOCaut @  30.8.2011,  10:55 Найти цитируемый пост)
у структури нету конструктора ж.

Садись, два!

Автор: spyswamp 30.8.2011, 11:02
NOCaut, есть.

Автор: newbee 30.8.2011, 11:05
Цитата(NOCaut @  30.8.2011,  11:55 Найти цитируемый пост)
у структури нету конструктора ж. 
 Если речь о С, то в структуре и функций нет. В С++ у структуры есть конструктор. И сформулируй нормально вопрос с примерами кода, так как не ясно в чем у тебя проблема.

Автор: NOCaut 30.8.2011, 11:18
Незнал. тогда пойду читать про структури в с++
Использую я ето так

Код
*.h file
 extern IconDB *db;

*.cpp

 IconDB *db;

 db->open();
 db->SQLGetConfigValue();

Автор: newbee 30.8.2011, 11:37
NOCaut, в main сделай db=new struct IconDB. И еще подумай, нужна ли тебе переменная через указатель, почему бы не сделать просто extern struct IconDB db?

Автор: NOCaut 30.8.2011, 11:48
Спасибо. Вопрос решон!

Автор: azesmcar 30.8.2011, 12:55
Цитата(newbee @  30.8.2011,  11:37 Найти цитируемый пост)
в main сделай db=new struct IconDB

и про delete не забудь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)