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

Передать массив элементов(типа int) объекта, в функцию из массивов(типа int) - C++

Восстановить пароль Регистрация
 
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 11:22     Передать массив элементов(типа int) объекта, в функцию из массивов(типа int) #1
Представьте такую ситуацию. Есть у вас массив чисел:
C++
1
Mass[4]
И вы хотите передать его в функцию. Я делаю это так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//объявим ф-ю:
func(const short*Mass)
{
...
}
//передадим эл-т:
main
{
...
short Mass[4];
func(Mass);
...
}
А теперь допустим, что у меня есть массив объектов типа Point.
и у этого объекта несколько элементов. Например:
[CPP]
class Point
{
public:
Point() {}
short X,Y;
AnsiString Name;
};
/CPP]
И вот хочу я массив объектов засунуть в ф-ю, но не создавая отдельный массив типа short, а как бы сразу например:
C++
1
2
Point P[4];
func(P->X);
Надеюсь я доступно выразил свой вопрос. Спасибо за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2012, 11:22     Передать массив элементов(типа int) объекта, в функцию из массивов(типа int)
Посмотрите здесь:

C++ Поместить двоичный код, в веденной строке, в переменную типа int и unsigned int.
C++ В массив типа double записываю целые числа (типа int), но ошибка не вылазиет!
МАССИВЫ: динамические мас.значение типа "int *" нельзя присвоить сущности типа "int" C++
C++ Динамический массив из n чисел типа int.
Аргумент типа int не совместим с параметрами типа int* C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
27.01.2012, 11:42     Передать массив элементов(типа int) объекта, в функцию из массивов(типа int) #2
Цитата Сообщение от Андрей2011 Посмотреть сообщение
И вот хочу я массив объектов засунуть в ф-ю, но не создавая отдельный массив типа short, а как бы сразу например
Перефразирую:
Цитата Сообщение от Андрей2011 Посмотреть сообщение
1) Я НЕ создаю массив
2) Я его передаю в функцию


Цитата Сообщение от Андрей2011 Посмотреть сообщение
Point P[4];
func(P->X);
Но здесь то вы его создаете. Если нужно перебирать по одному объекту, то:
C++
1
2
3
4
5
6
7
8
void yourFunc(Point x)
{
//x - принятый объект
}
 
Point mas[4];
for (int i = 0; i < 4; i++)
   yourFunc(mas[i]);
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 11:45  [ТС]     Передать массив элементов(типа int) объекта, в функцию из массивов(типа int) #3
нет мне надо массив передать.
вот упрощенный вариант вопроса.
C++
1
2
3
4
 struct {short X,Y;}
 Mass[4];
 
  func(Mass->X);  //хочу передать массив элементов Х.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
27.01.2012, 11:55     Передать массив элементов(типа int) объекта, в функцию из массивов(типа int) #4
Цитата Сообщение от Андрей2011 Посмотреть сообщение
нет мне надо массив передать.
Что бы передать массив, надо его сформировать. Поэтому не получиться упрощенного варианта. Предлагаю перед этим создать массив, ну и сформировать его по циклу mass->x как вам надо.
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 11:56  [ТС]     Передать массив элементов(типа int) объекта, в функцию из массивов(типа int) #5
Ага. понял. просто думал что есть упрощенный вариант, мало ли. Размечтался. Спасибо!
Yandex
Объявления
27.01.2012, 11:56     Передать массив элементов(типа int) объекта, в функцию из массивов(типа int)
Ответ Создать тему
Опции темы

Текущее время: 23:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru