LINUX.ORG.RU

Вопрос с типами


0

0

Вот такой по памяти фрагмент: type Hero { int x; int y; }

.....

Hero vasya[10];

..... vasya[1].x=100;

Получается ошибка при компиляции g++ Говорит, что что точку в строке vasya[1].x ставить нельзя. В чем я ошибся? Может либы какие не подключил? Был бы благодарен за ответ.

anonymous

Re: Вопрос с типами

> Вот такой по памяти фрагмент: type Hero { int x; int y; }
не может такого быть в C++ (о нем речь насколько я понял)
Надо typedef struct Hero {int x; int y; };

Вот потом:
Hero heroes[10];
heroes[0].x = 1;

должно работать точно

phoenix ★★★★ ()
Ответ на: Re: Вопрос с типами от Murr

Re: Вопрос с типами

>>typedef struct Hero {int x; int y; };

>typedef struct Hero {int x; int y;} Hero;

Можно просто:

typedef struct {int x; int y;} Hero;

Die-Hard ★★★★★ ()
Ответ на: Re: Вопрос с типами от Die-Hard

Re: Вопрос с типами

Да хоть тайпдеф, хоть как делал. Нифига. В том то и вопрос. Все равно спасибо.

anonymous ()
Ответ на: Re: Вопрос с типами от anonymous

Re: Вопрос с типами

$cat tryhero.c
#include <stdio.h>

typedef struct {int x; int y;} Hero;

int main(void)
{
Hero vasya[10];
   vasya[1].x=100;
   vasya[1].y=200;

   printf("Hello, vasya! x=%d, y=%d\n",vasya[1].x,vasya[1].y);
   return 0;
}

$gcc -Wall -o tryhero tryhero.c
$./tryhero
Hello, vasya! x=100, y=200

Die-Hard ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.