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

Как инициализировать структуру - C++

Восстановить пароль Регистрация
 
TLENS
-7 / 2 / 0
Регистрация: 11.10.2011
Сообщений: 77
13.11.2012, 04:48     Как инициализировать структуру #1
имеется структура point {int x; int y;}
вопрос таков как мне не создавая переменной передать структуру в функцию т.е.
C++ (Qt)
1
2
3
4
5
struct point {int x; int y;}
// есть функция
void test (point k) {
    cout << k.y << endl << k.x << endl;
}
как мне передать в функцию два значения int не создавая структуры?
пробовал test (point{123, 456}) синтаксис не принимает.
пробовал и так test (point(123,456));
Ккак это правильно сделать?
разумеется можно сделать так
point k = {123, 456};
test (k);
но мне нужно обойтись без переменой. Просто интересен правильный синтаксис
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2012, 04:48     Как инициализировать структуру
Посмотрите здесь:

Как передать в функцию строку и инициализировать ею структуру? C++
Известна информация о группе студентов - Фамилия, имя, год рождения, пол, рост. объявить и инициализировать структуру , позволяющую отобразить информа C++
как инициализировать указатель на структуру C++
Как правильно написать функцию, которая редактирует структуру по полю Name и возвращает новую, исправленную структуру?.. C++
Как создать структуру-список, поля которой — ссылка на такую же структуру C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.11.2012, 04:59     Как инициализировать структуру #2
Цитата Сообщение от TLENS Посмотреть сообщение
test (point(123,456));
Во-первых, так ты всё равно создаёшь экземпляр структуры.
Во-вторых, у структуры отсутствует конструктор.
TLENS
-7 / 2 / 0
Регистрация: 11.10.2011
Сообщений: 77
13.11.2012, 15:30  [ТС]     Как инициализировать структуру #3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Во-первых, так ты всё равно создаёшь экземпляр структуры.
Во-вторых, у структуры отсутствует конструктор.
Ну не понял к чему твой пост.
Как правильно инициализировать структуру ты можешь сказать?
Я пробовал и так
C++ (Qt)
1
2
3
4
5
6
typedef struct tagPoint {
    int x;
    int y;
} point;
 
test (point(123, 456)); //Синтаксис не позволяет.
denys_l
51 / 51 / 4
Регистрация: 26.09.2011
Сообщений: 186
13.11.2012, 15:38     Как инициализировать структуру #4

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Во-вторых, у структуры отсутствует конструктор.
почему же? очень даже присутствует



Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
struct point {
    int x;
     int y;
     point(int _x = 0, int _y = 0) {
        x = _x;
        y = _y;
     }
    };
// есть функция
void test (point k) {
    cout << k.y << endl << k.x << endl;
}
 
int main()
{
    test(point(10,2));
}
TLENS
-7 / 2 / 0
Регистрация: 11.10.2011
Сообщений: 77
13.11.2012, 15:40  [ТС]     Как инициализировать структуру #5
спасибо большое

Добавлено через 19 секунд
Kuzia domovenok, теперь я понял о каком ты конструкторе
Yandex
Объявления
13.11.2012, 15:40     Как инициализировать структуру
Ответ Создать тему
Опции темы

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