levels level[2]; // pole premenných typu levels
level[0].area[0][0] = {char(178)} // sruktua ma 2d pole area, ktorého prvý člen chcem nastaviť na znak 178
// ale kompilátor píše:[Error] 'level' does not name a type
myslím si že to bude nejaká malá chybička , ale neviem aká ...
problém by mohl být v char area [y][x]; Záleží na tom, jakou normu překladač implementuje. Takto alokovat dynamické pole je možné (jen tuším) od zavedení standardu C++11. Mám starší překladač, který toto neumožňuje. Pokud ale použiju:
struct levels {
int cislo;
char area [5] [4];
};
struct levels level[3];
level[0].cislo = 8;
zkus tu strukturu udělat jako datový typ s typedef. To mi fungovalo vždy.
Ten poslední kód, co jsem ti poslal, byl vyzkoušen v C++Builderu 2010 a v podstatě odpovídá příkladu z Učebnice jazyka C od Herouta druhé vyd. z r. 1993.
možná by bylo lepší aby udělal Ctrl-c a Ctrl-v. I nepatrný překlep někdy dovede z banálního příkladu udělat neřešitelnou záhadu. Takových situací jsem už několik "vyrobil" a pokaždé jsem si připadal jak největší pitomec na světě
#15me.name
Expression (vyraz, v tvojom pripade priradenie do premennej) sa musi nachadzat vo funkcii:
typedef struct {
int vyska;
float vaha;
} Miry;
int main(){
Miry ferda, honza; //toto moze byt aj mimo funkcie, vtedy to bude gloabalna premenna
ferda.vaha = 5.5;
}
Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
#19me.name
Bolo by to neprehladne a hlavne by sa tazko urcovalo poradie v akom sa maju vyhodnocovat vyrazy, hlavne ked by boli v roznych suboroch a rozne by sa includovali. Pri oddelenom preklade by zas mohlo dojst k viacnasobnemu spusteniu vyrazu...
Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "