kold_Zero
Power Member
Ok, sei que provavelmente o que está a faltar é algo de muito obvio, porem eu sou mto verde em qq tipo de programação.
O problema é o seguinte, criei uma estrutura que armazena 4 inteiros , que representam um rectangulo:
pontoX = posição em X
pontoY = posição em Y
dimX = dimensão horizontal
dimY = dimensao vertical
A estrutura:
typedef struct _blocos {
int pontoX, pontoY ,dimX, dimY;
} str_blocos;
E agora quero dar valores a esses inteiros, porem como não quero apenas um rectangulo quero mais o melhor é criar um array e passar por lá a estrutura certo?
Então para 3 rectangulos:
str_blocos blocos[3];
blocos[0] = {50, 50, 150, 20};
blocos[1] = {200, 50, 150, 20};
blocos[2] = {300, 150, 150, 20};
Ok isto não funciona e eu não percebo pq. Já procurei pela net e vi muitos exemplos em que eles declaravam os valores assim, obviamente me falta qq coisa.
Tb ja experimentei adicionar valor a valor:
blocos[0].pontoX = 50;
blocos[0].pontoY = 50;
blocos[0].dimX = 150;
blocos[0].dimy = 20;
blocos[1].pontoX = 200;
blocos[1].pontoY = 50;
blocos[1].dimX = 150;
blocos[1].dimy = 20;
blocos[2].pontoX = 300;
blocos[2].pontoY = 150;
blocos[2].dimX = 150;
blocos[2].dimy = 20;
Mas nada.
O erro que dá:
trabalho.cpp:28:1: error: ‘blocos’ does not name a type
O que se passa? ele não está a reconhecer a estrutura "str_blocos" como um tipo de dados?
Sei que deve ser facil.. mas não estou a entender.
Obg
O problema é o seguinte, criei uma estrutura que armazena 4 inteiros , que representam um rectangulo:
pontoX = posição em X
pontoY = posição em Y
dimX = dimensão horizontal
dimY = dimensao vertical
A estrutura:
typedef struct _blocos {
int pontoX, pontoY ,dimX, dimY;
} str_blocos;
E agora quero dar valores a esses inteiros, porem como não quero apenas um rectangulo quero mais o melhor é criar um array e passar por lá a estrutura certo?
Então para 3 rectangulos:
str_blocos blocos[3];
blocos[0] = {50, 50, 150, 20};
blocos[1] = {200, 50, 150, 20};
blocos[2] = {300, 150, 150, 20};
Ok isto não funciona e eu não percebo pq. Já procurei pela net e vi muitos exemplos em que eles declaravam os valores assim, obviamente me falta qq coisa.
Tb ja experimentei adicionar valor a valor:
blocos[0].pontoX = 50;
blocos[0].pontoY = 50;
blocos[0].dimX = 150;
blocos[0].dimy = 20;
blocos[1].pontoX = 200;
blocos[1].pontoY = 50;
blocos[1].dimX = 150;
blocos[1].dimy = 20;
blocos[2].pontoX = 300;
blocos[2].pontoY = 150;
blocos[2].dimX = 150;
blocos[2].dimy = 20;
Mas nada.
O erro que dá:
trabalho.cpp:28:1: error: ‘blocos’ does not name a type
O que se passa? ele não está a reconhecer a estrutura "str_blocos" como um tipo de dados?
Sei que deve ser facil.. mas não estou a entender.
Obg