Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Массив указателей на структуры. |
Автор: Mal Hack 19.8.2007, 20:07 | ||||||||||
Чую я, что упускаю какую-то мелочь, лиюо мысль пошла не в том направлении... Суть задачи. В программу водится n функций (пример: sin(PI)*34-34), затем должен быть произведен разбор каждой функции и ее вычисление. Каждая функция со своими параметрами пишется в структуру:
Так вот. Кол-во функций, а следовательно и массив этих структур - динамические. Объявляю, как:
внутри private раздела своего класса, .h которого выглядит так:
Так описываю конструктор:
При компиляции (Linux Debian stable, qmake, make QDevelop Qt4) получаю совершенно не понятные мне ошибки...
Ошибки - первые, поэтому, я сомневаюсь, что они - следствие предыдущих или каки-то других... Вроде бы, конструктор описан в соответствии с заголовочным файлом. В чем я мог наврать? Заранее спасибо... |
Автор: bsa 19.8.2007, 20:11 | ||||
Вообще-то так:
|
Автор: Mal Hack 19.8.2007, 20:26 |
Спасибо, учел. Но на ошибки, это не повлияло. Добавлено через 1 минуту и 43 секунды Это получается указатель на структуру, а мнеи одновременно надо n таких содержать и в нужный момент передавать в методы указатель на нужную структуру... Прошу прощения, если несколько не так выражаюсь. |
Автор: Xenon 19.8.2007, 20:31 |
Mal Hack, ну тогда тебе указатель на указатель нужен. И нужно знать количество структур, если они распологаются в массиве. |
Автор: Mal Hack 19.8.2007, 20:36 |
Xenon, а как тогда? Структур - n, следовательно надо объявлять массив структур из n элементов, следовательно указатель. |
Автор: zkv 19.8.2007, 20:45 | ||
чего то я не понимаю, вот пример:
а по существу вопроса, эта строка меня смущает: вспоминаю, что в мсдн была запись что такую конструкцию можно употреблять в качестве последнего члена структуры, но это microsoft specific. Что стандарт по этому поводу говорит - не знаю. |
Автор: Mal Hack 19.8.2007, 20:52 |
Чем? Так я вроде бы так и делаю... Ошибка-то завязано на конструкторе класса, как я понимаю. |
Автор: Fazil6 19.8.2007, 21:03 | ||
а почему не пользоваться std::vector ? Код в конструкторе вкорне неправильный. Обращение к нулевому элементу без всяких выделений памяти под какие-то нибыло элементы. по поводу ошибки, скорее всего дело в отсутствии где-то в конце объявления класса ; |
Автор: zkv 19.8.2007, 21:04 | ||||
Mal Hack, собрал твой пример в студии (VS2005), в таком виде:
только пару warning'ов выдает:
|
Автор: Mal Hack 19.8.2007, 21:27 | ||||
Так и оказалось... Блин, бывае же :( Спасибо. Это что?
А new же там есть? Конструктор сейчас так, для теста с таким кодом идет. |
Автор: Xenon 19.8.2007, 21:30 |
Mal Hack, std::vector - динамический контейнерю |