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

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

Войти
Регистрация
Восстановить пароль
 
TamaGOch
9 / 9 / 0
Регистрация: 11.12.2012
Сообщений: 152
#1

Передача структуры в функцию - C++

21.11.2013, 10:37. Просмотров 368. Ответов 3
Метки нет (Все метки)

структура к примеру:
C++
1
2
3
4
5
struct GamePoint
{
int x;
int y;
};
Функция допустим вот такая:
C++
1
2
3
4
void Func (GamPoint val)
{
/***/
}
Можно делать так:
C++
1
2
GamePoint tmp = {9, 10};
Func (tmp);
Но хочется сделать что-то подобное этому:
C++
1
Func ( GamePoint {9, 10} );
естественно последний вариант не проходит, но есть желание делать так, не создавая переменную а делать такое вот приведение. Кто-нибудь знает, как это сделать корректно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 10:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача структуры в функцию (C++):

Передача структуры в функцию - C++
Пишу программу по структурам... Хочу передать в функцию объекты структуры, т.е. zakaz и параметр size(размерность), так, что бы передать...

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

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

Передача структуры в функцию - C++
Добрый вечер. Необходимо обеспечить вывод значении элементов структуры в 10-ной и 16-ной системе счисления через функцию. Следовательно...

Передача структуры в функцию - C++
Здравствуйте, объясните пожалуйста, как передать структуру в функцию. Пользовался поиском, но ничего не понял struct syt { ...

Передача структуры в функцию - C++
объясните, пожалуйста, что это за передача структуры в некоторые функции программы: void someFunction(NOTE * &Note) ?? Почему нельзя,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
newbie666
Заблокирован
21.11.2013, 10:47 #2
Вам надо завести конструктор в структуре так:
C++
1
2
3
4
5
6
struct GamePoint
{
    int x;
    int y;
    GamePoint(int _x, int _y) : x(_x), y(_y){}
};
И тогда будете вызывать функцию так: Func ( GamePoint(9, 10) );

Добавлено через 1 минуту

Не по теме:

приятно помогать людям, которые интересуются языком, а не требуют решить за них курсовую

LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
21.11.2013, 11:08 #3
Цитата Сообщение от TamaGOch Посмотреть сообщение
Но хочется сделать что-то подобное этому:
C++
1
Func ( GamePoint {9, 10} );
Цитата Сообщение от newbie666 Посмотреть сообщение
Вам надо завести конструктор в структуре так:
Цитата Сообщение от newbie666 Посмотреть сообщение
И тогда будете вызывать функцию так: Func ( GamePoint(9, 10) );
Извините, а в чем же смысл всего этого? Дальше то что делать с GamePoint(9, 10)? Переменной как таковой нет к ней нельзя обратиться по имени.
Ilot
Модератор
Эксперт С++
1809 / 1166 / 226
Регистрация: 16.05.2013
Сообщений: 3,070
Записей в блоге: 5
Завершенные тесты: 1
21.11.2013, 11:10 #4
Цитата Сообщение от LuxArt Посмотреть сообщение
Дальше то что делать с GamePoint(9, 10)? Переменной как таковой нет к ней нельзя обратиться по имени.
Переменную звать val:
C++
1
2
3
4
void Func (GamPoint val)
{
/***/
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 11:10
Привет! Вот еще темы с ответами:

Передача структуры в функцию - C++
Хочу передать массив в функцию. как лучше это сделать? struct a1{ char smA1; }; char b1 = {"sdk"}; void setstrinf(a1...

Передача структуры в функцию - C++
#include <stdio.h> struct Student { char Name; /* Фамилия студента */ int Group; /* Номер группы */ ...

Передача структуры в функцию - C++
Здравствуйте. Как передать структуру в функцию? void Ekzamen(struct array, int n, int size) { cout << "Студенты, допущенные...

Передача члена структуры в функцию - C++
Здравствуйте. Столкнулся с проблемой и не могу найти ее решение. есть структура: #ifndef STRUCTSCAN_H #define STRUCTSCAN_H ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.11.2013, 11:10
Ответ Создать тему
Опции темы

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