Russian Qt Forum
Октябрь 02, 2024, 19:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: динамическое имя переменной.  (Прочитано 4538 раз)
noname.pl
Гость
« : Март 05, 2007, 13:07 »

как средствами языка реализовать след. функцию:
void (QString Name){
QFile Name;
}
то есть в параметрах функции указывать имя переменной, которая будет объявлена внутри функции. thx
p.s.: чреваты ли чем-то подобные извраты?

добавлено спустя 2 минуты:

 p.p.s: и возможно ли сделать объявленные таким образом переменные видимыми для внешней области видимости, по отношению к данной?
Записан
Alex03
Гость
« Ответ #1 : Март 05, 2007, 13:55 »

Никак.
Невозможно.

И главное: А зачем?

Этап компиляции и выполнения - совсем разные вещи.
Записан
noname.pl
Гость
« Ответ #2 : Март 05, 2007, 14:02 »

наверное я не верно выразился. нужно сделать
Код:
 void (QString Name){
QFile NameInName; // содержимое строки QString Name, а не имя этой переменной
}
зачем? скажем, есть 20 переменных, которые определенным образом взаимодействуют и инициализируются то друг другом, то чем-то внешним. и таких блоков инициализации тоже под 20, а будет больше. хочется такую функцию в которую указываешь лишь имена и она делает все остальное за тебя .... конечно возможно стоит воспользоваться ассциированным массивом или ещё чем-то (это потом решу) но стало инетресно как сделать вот так вот. думается, мне что это возможно.  ... подправил постановку задачи.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #3 : Март 05, 2007, 14:19 »

я думаю тебе могут помочь указатели
типа void *p; - делай с ним че хочешь ))
Записан
noname.pl
Гость
« Ответ #4 : Март 05, 2007, 14:30 »

гыгы %) яркий совет. пока что решил пользоваться ассоциативными массивами типа <QString, MyStruct>, где в MyStruct и будут однотипные данные. но все же вопрос остался открытым ...
Записан
WW
Гость
« Ответ #5 : Март 05, 2007, 14:39 »

Admin прав. есть понятие указатели на функцию.
void (*p)(QString sName);
и делай с ней что хочешь. ты все равно придешь к ней.
Записан
noname.pl
Гость
« Ответ #6 : Март 05, 2007, 23:38 »

спасибо, попробую.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 23.