15 / 15 / 8
Регистрация: 17.06.2013
Сообщений: 209
1

Возврат структуры из функции

09.08.2016, 23:05. Показов 3946. Ответов 6
Метки нет (Все метки)

Всем доброго времени суток.

awesome.h
C++ (Qt)
1
2
struct point { float x = 1; float y = 1; };
struct point* toCoodinateQuater(point *p);
awesome.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void paint::mousePressEvent(QMouseEvent *e)
{
 
    point pnt;
    pnt.x = float(e->x())/frameGeometry().width();
    pnt.y = float(e->y())/frameGeometry().height();
    pnt = toCoodinateQuater(&pnt);
    
    cout <<  p->x << " " <<  p->y << endl;
}
 
struct point* paint::toCoodinateQuater(point *p)
{
    p->x *=2;
    p->y *=2;
    
    return *p;
}
Собственно суть
Есть некая структура, которая передается в функцию, там обрабатывается и присваивается вызывающей структуре.
Код косячный, но надеюсь, что смысл передан.

С передачей структуры в функцию разобрался, а вот с возвращением структуры нет.
Прошу помочь на примере этого кода
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2016, 23:05
Ответы с готовыми решениями:

Возврат структуры из функции
Добрый день! Я только начинаю, и сразу стал путаться с массивами и структурами с горем попалам...

Возврат структуры из функции
Здравствуйте. Допустим, есть следующий код, работающий успешно. typedef struct { int a; int...

Функции: возврат структуры
struct my_info{ //поля } my_struct; //структура struct my_info funct (struct my_info);...

Возврат структуры из функции
Задание на структуру: создается банковский счет с возможностью изменения его данных по ходу. Я не...

6
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
09.08.2016, 23:17 2
Структуру можно вернуть как значение. Убери указатель и слово struct - оно только при объявлении пишется.

Добавлено через 3 минуты
C++
1
2
3
void toCoodinateQuater(point &p); // через ссылку без возврата
void toCoodinateQuater(point *p); // через указатель без возврата
point toCoodinateQuater(point &p); // с возвратом
1
15 / 15 / 8
Регистрация: 17.06.2013
Сообщений: 209
09.08.2016, 23:20  [ТС] 3
nmcf,

написал

awesome.h
C++ (Qt)
1
point toCoodinateQuater(point *p);
awesome.cpp
C++ (Qt)
1
point paint::toCoodinateQuater(point *p){
ошибка: 'point' does not name a type
0
Модератор
Эксперт по электронике
8487 / 6314 / 854
Регистрация: 14.02.2011
Сообщений: 21,880
09.08.2016, 23:20 4
Лучший ответ Сообщение было отмечено Allius25 как решение

Решение

Цитата Сообщение от Allius25 Посмотреть сообщение
C++ (Qt)
1
2
3
4
5
6
struct point* paint::toCoodinateQuater(point *p)
{
  p->x *=2;
  p->y *=2;
return *p;
}
C++ (Qt)
1
2
3
4
5
void paint::toCoodinateQuater(point *p)
{
  p->x *=2;
  p->y *=2;
}
1
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
10.08.2016, 00:01 5
Цитата Сообщение от Allius25 Посмотреть сообщение
ошибка: 'point' does not name a type
Порядок объявления проверь.
0
Модератор
Эксперт по электронике
8487 / 6314 / 854
Регистрация: 14.02.2011
Сообщений: 21,880
10.08.2016, 07:51 6
Allius25, скажи а чем тебя штатный QPointF не устроил?
http://doc.crossplatform.ru/qt/4.5.0/qpointf.html
вся твоя функция заменилась бы на
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
void paint::mousePressEvent(QMouseEvent *e)
{
 
    QPointF pnt;
    pnt.x = float(e->x())/frameGeometry().width();
    pnt.y = float(e->y())/frameGeometry().height();
    pnt *=2;// замена функции
    
    cout <<  p->x << " " <<  p->y << endl;
}
0
15 / 15 / 8
Регистрация: 17.06.2013
Сообщений: 209
10.08.2016, 13:03  [ТС] 7
ValeryS, Да, можно и им. Не знал про него Спасибо

Основная задача пересчитать щелчок мыши и оставить маркер на виджете
а там нужно считать координаты относительно центра виджета, в координатных четвертях.
Вот.. там уже в принципе без разницы каким способом хранится координата
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2016, 13:03

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

Возврат значения структуры
Приветствую Есть структура public struct Field { string _name; string...

Возврат структуры из процедуры
Помогите решить задачу! Мне надо написать процедуру которая заполняет структуру данными и...

Возврат копии структуры из другого класса
Как можно копию структуры из одного класса передать в другой? (именно чтоб она изначально в private...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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