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

Не работает создание обьекта - C++

Восстановить пароль Регистрация
 
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
01.03.2014, 14:57     Не работает создание обьекта #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
 
struct Point
{
    float x, y, z;
 
    Point(float _x, float _y, float _z)
    {
        x = _x;
        y = _y;
        z = _z;
    }
};
 
struct Vec2
{
    Point p1( 150.0f, 0.0f, 150.0f );
};
 
int main()
{
    Vec2 v;
 
    printf("%3.1f %3.1f %3.1f\n", v.p1.x, v.p1.y, v.p1.z);
}
Цитата Сообщение от MinGW
m.cpp:17:12: error: expected identifier before numeric constant
Цитата Сообщение от VC++
error C2059: синтаксическая ошибка: константа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2014, 14:57     Не работает создание обьекта
Посмотрите здесь:

Передвижение обьекта C++
C++ адресс обьекта класса
C++ Передача в функцию обьекта
C++ Передача обьекта в функию
Вернуть С-строку из обьекта класса C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
01.03.2014, 15:01     Не работает создание обьекта #2
Это что за синтаксис такой?
Для Vec2 напишите конструктор по умолчанию, и в нем инициализируйте p1.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
01.03.2014, 15:04     Не работает создание обьекта #3
Цитата Сообщение от programina Посмотреть сообщение
C++
1
Point p1( 150.0f, 0.0f, 150.0f );
C++
1
Point p1 { 150.0f, 0.0f, 150.0f };
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
01.03.2014, 15:09  [ТС]     Не работает создание обьекта #4
Цитата Сообщение от gray_fox Посмотреть сообщение
Point p1 { 150.0f, 0.0f, 150.0f };
gray_fox, это не работает в студии.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
01.03.2014, 15:15     Не работает создание обьекта #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
struct Point
{
    float x, y, z;
     Point(float _x=0, float _y=0, float _z=0)
    {
        x = _x;
        y = _y;
        z = _z;
    }
};
struct Vec2
{
    Point p1;
    Vec2(){p1.x=150.0f;p1.y=0.0f;p1.z=150.0f;}
};
 
int main()
{
    Vec2 v;
    printf("%3.1f %3.1f %3.1f\n", v.p1.x, v.p1.y, v.p1.z);
}
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
01.03.2014, 15:20     Не работает создание обьекта #6
Hint: список инициализации.
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
01.03.2014, 15:21     Не работает создание обьекта #7
programina,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
 
struct Point
{
    float x, y, z;   
    Point() {
        x=0;
        y=0;
        z=0;
    }
    Point(float _x, float _y, float _z)
    {
        x = _x;
        y = _y;
        z = _z;
    }
};
 
struct Vec2
{
    Point p1;
    Vec2() {
        p1 = Point(1,2,3);
    }
};
 
int main()
{
    Vec2 v;
    printf("%3.1f %3.1f %3.1f\n", v.p1.x, v.p1.y, v.p1.z);
}
например
DrOffset
6423 / 3797 / 878
Регистрация: 30.01.2014
Сообщений: 6,585
01.03.2014, 15:26     Не работает создание обьекта #8
Цитата Сообщение от programina Посмотреть сообщение
C++
1
2
3
4
struct Vec2
{
    Point p1( 150.0f, 0.0f, 150.0f );
}
;
И не должно это работать.
Вот:
C++
1
2
3
4
5
struct Vec2
{
    Point p1;
    Vec2() : p1(150.0f, 0.0f, 150.0f) {}
}
Либо как gray_fox показал (С++11), нужна последняя студия.
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
01.03.2014, 15:37  [ТС]     Не работает создание обьекта #9
zss, спасибо, так работает.

Добавлено через 1 минуту
Цитата Сообщение от DrOffset Посмотреть сообщение
нужна последняя студия
А что там? Уже есть поддержка C++11?
DrOffset
6423 / 3797 / 878
Регистрация: 30.01.2014
Сообщений: 6,585
01.03.2014, 15:40     Не работает создание обьекта #10
Цитата Сообщение от programina Посмотреть сообщение
Уже есть поддержка C++11?
Насколько я знаю - не полностью. Но попробовать уже есть много чего
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2014, 15:40     Не работает создание обьекта
Еще ссылки по теме:

Сравнение обьекта C++
Дескриптор обьекта C++
Возвращение обьекта из шаблона C++

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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
01.03.2014, 15:40     Не работает создание обьекта #11
Цитата Сообщение от programina Посмотреть сообщение
А что там?
http://msdn.microsoft.com/en-us/library/hh567368.aspx
Yandex
Объявления
01.03.2014, 15:40     Не работает создание обьекта
Ответ Создать тему
Опции темы

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