[ pancevac76 @ 22.12.2007. 17:47 ] @
Kompajliranjem sledeceg koda, dobijam more gresaka za liniju 35

struct str_borders
{
int br;
};


struct str_country
{
int owner; // Redni broj zemlje
int armies; // Koliko ima vojske na teritoriji
char name[20]; // Kako se zemlja zove
char audio[30]; // Audio fajl za tu zemlju
str_borders granica[7]; // Sa kim se teritorijama ova zemlja granici, 7 je maksimum
};

struct str_country country[3]=
{
{0, 0, "Blank Space", "nosound.wav",{1,22,53,43,54,66,77}},
{0, 0, "Alaska", "sound/alaska.wav", {1,2,3,4,5,64,7}},
{0, 0, "NorthWest Territory", "sound/northwest.wav", {1,2,3,4,5,6,7}}
}; <================================================== LINIJA 35

Citanje strukture sa printf("Rezultat je %d\n", country[1].granica[4]);

Radi, uz jos jedan warning, al daje tacan rezultat.

Ako koristim

int gr=0;
gr=country[1].granica[4];

Dobijam gresku u kompajliranju:
error: cannot convert 'str_borders' to 'int' in assigment.

Gde gresim?
[ butcher87 @ 23.12.2007. 05:01 ] @
Code:

struct str_country
{
int owner; // Redni broj zemlje
int armies; // Koliko ima vojske na teritoriji
char name[20]; // Kako se zemlja zove
char audio[30]; // Audio fajl za tu zemlju
struct str_borders granica[7]; // Sa kim se teritorijama ova zemlja granici, 7 je maksimum
};


Prva greska je ta sto nisi stavio 'struct str_borders'. Mora se staviti 'struct', jer mu tako naglasavas da se radi o imenu tipa strukture... A za ostale greske ne znam.
[ karas @ 24.12.2007. 08:00 ] @
Citat:

error: cannot convert 'str_borders' to 'int' in assigment

Ne može da konvertuje country[1].granica[4] koji je tipa struct str_borders u gr koji je tipa int.
[ Eurora3D Team @ 28.12.2007. 23:37 ] @
Ovako radi ok . 0 error(s), 0 warning(s) na MS VC++ i MinGW
Code:

#include<stdio.h>

struct str_borders
{
    int br;
};

struct str_country
{
    int owner; // Redni broj zemlje
    int armies; // Koliko ima vojske na teritoriji
    char name[20]; // Kako se zemlja zove
    char audio[30]; // Audio fajl za tu zemlju
    struct str_borders granica[7]; // Sa kim se teritorijama ova zemlja granici, 7 je maksimum
};

struct str_country country[3]=
{
{0, 0, "Blank Space", "nosound.wav",{1,22,53,43,54,66,77}},
{0, 0, "Alaska", "sound/alaska.wav", {1,2,3,4,5,64,7}},
{0, 0, "NorthWest Territory", "sound/northwest.wav", {1,2,3,4,5,6,7}}
};

int main(void)
{
    int gr=0;
    gr=country[1].granica[4].br;
    printf("Rezultat je %d\n", country[1].granica[4].br);
    return 0;
}
[ pancevac76 @ 29.12.2007. 00:06 ] @
Hvala. Radi bez problema