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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ok40
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 25
#1

Динамический массив структуры в качестве параметра функции - C++

19.11.2012, 18:09. Просмотров 725. Ответов 4
Метки нет (Все метки)

Привет! Нужна помощь (
Есть структура
struct Embedded
{
double density;
double energy;
}

есть 2 массива динамический
Embedded *emb_energy = new Embedded[size];
double *delta = new double [size];

есть функция
void derivatives (int size, Embedded *emb_energy, double *delta)
{
int i;
for (i=0;i<size-1;i++)
{
delta[i]=(emb_energy[i+1].energy+emb_energy[i].energy)/(emb_energy[i+1].density+emb_energy[i].density);
}
}

Вопрос: правильно ли я пишу параметры к функции и как вызвать эту функцию?
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 18:09     Динамический массив структуры в качестве параметра функции
Посмотрите здесь:

Двумерный массив в качестве параметра функции - C++
почему не удаётся передать в качестве параметра двумерный массив? #include &lt;iostream.h&gt; int sum(const int** mas, const int...

Передача CString в качестве параметра функции - C++
Добрый всем вечер! Мучает один вопрос, на который не могу найти ответ. Как наилучшим образом передавать объект класса CString в...

Функции, передача массива в качестве параметра - C++
Приветствую) Собственно, есть простенькое задание с двумерными массивами, оно выполнено: #include &lt;iostream.h&gt; #include &lt;conio.h&gt; ...

Указатель на функцию в качестве параметра функции - C++
ln(1-x)+sinx необходимо создать программу демонстрирующую возможность использования указателя на некоторую функцию в качестве параметра...

Передача функции в качестве параметра функции - C++
Дорогие форумчане! Повторяю пример из книжки. До конца не понял его! Помогите разобраться! Тема: односвязный линейный список. Плюс,...

Как передать итератор в качестве параметра функции? - C++
хочу вызвать функцию как-то так: show_string(std::cout, line.begin(), line.end()); в качестве line.begin() и line.end() выступают...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wolkodav
602 / 455 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
19.11.2012, 18:20     Динамический массив структуры в качестве параметра функции #2
Ну передаёшь правильно. Я вроде бы криминала не вижу.
А вызываешь ну просто
C++
1
2
3
4
5
6
7
8
void main()
{
int size=10;
Embedded* A=new Embedded[size];
double* b=new double[size];
derivatives(size,A,b);
return;
}
Просто объявляешь параметры такого же типа и передаёшь в функцию, ну при вызове.
ok40
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 25
19.11.2012, 18:27  [ТС]     Динамический массив структуры в качестве параметра функции #3
Вроде бы также и делаю, но ругается почему-то

main.cpp:26: error: Б─≤EmbeddedБ─≥ has not been declared
main.cpp: In function Б─≤void derivatives(int, int*, double*)Б─≥:
main.cpp:31: error: request for member Б─≤energyБ─≥ in Б─≤*((emb_energy + 4u) + ((int*)(((long unsigned int)i) * 4ul)))Б─≥, which is of non-class type Б─≤intБ─≥
main.cpp:31: error: request for member Б─≤energyБ─≥ in Б─≤*(((int*)(((long unsigned int)i) * 4ul)) + emb_energy)Б─≥, which is of non-class type Б─≤intБ─≥
main.cpp:31: error: request for member Б─≤densityБ─≥ in Б─≤*((emb_energy + 4u) + ((int*)(((long unsigned int)i) * 4ul)))Б─≥, which is of non-class type Б─≤intБ─≥
main.cpp:31: error: request for member Б─≤densityБ─≥ in Б─≤*(((int*)(((long unsigned int)i) * 4ul)) + emb_energy)Б─≥, which is of non-class type Б─≤intБ─≥
main.cpp: In function Б─≤int main()Б─≥:
main.cpp:65: error: cannot convert Б─≤Embedded*Б─≥ to Б─≤int*Б─≥ for argument Б─≤2Б─≥ to Б─≤void derivatives(int, int*, double*)Б─≥

Соответственно 26 строка - объявление функции, 31 - вычисление внутри функции, 65 - вызов функции
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
19.11.2012, 18:30     Динамический массив структуры в качестве параметра функции #4
ok40, какие-то странные символы у вас в тексте ошибок "Б─"
А функция в курсе, что существует класс Embedded?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2012, 18:32     Динамический массив структуры в качестве параметра функции
Еще ссылки по теме:

Указатель на файловый поток в качестве параметра функции - C++
Здравствуйте! Хочется/нужно написать что-то вроде функции которая читала бы из файлового потока передаваемого ей в качестве параметра....

Как передать слово в качестве параметра функции? - C++
Возможно ли чтобы функция принимала слово, вывела его , и рассчитала его длину? void write(char* word) { cout &lt;&lt; word &lt;&lt; &quot;...

Функции: Как передать в качестве параметра число? - C++
Как передать в качестве параметра число? с++

Передача функции с двумерным массивов в качестве параметра - C++
Всем доброго времени суток. У меня проблема следующего плана. Есть некая функция void Get_from_file(Rect rectangle, int sizeY) из...


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

Или воспользуйтесь поиском по форуму:
ok40
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 25
19.11.2012, 18:32  [ТС]     Динамический массив структуры в качестве параметра функции #5
)))))))) я тормоз, структура описана после функции была. спасибо большое за помощь!
Yandex
Объявления
19.11.2012, 18:32     Динамический массив структуры в качестве параметра функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru