Non so cosa cercare per trovare una spiegazione per questo, quindi sto chiedendo.
Ho questo codice che segnala l'errore:Errore `` non nome di tipo` in C++
struct Settings{
int width;
int height;
} settings;
settings.width = 800; // 'settings' does not name a type error
settings.height = 600; // 'settings' does not name a type error
int main(){
cout << settings.width << " " << settings.height << endl;
ma se ho messo l'assegnazione valore principale, funziona:
struct Settings{
int width;
int height;
} settings;
main() {
settings.width = 800; // no error
settings.height = 600; // no error
si può spiegare a me perché?
EDIT:
Riguardo alla risposta di Ralph Tandetzky, ecco il mio codice completo struct. Potresti mostrarmi come assegnare i valori come hai fatto con la mia struct snippet?
struct Settings{
struct Dimensions{
int width;
int height;
} screen;
struct Build_menu:Dimensions{
int border_width;
} build_menu;
} settings;
wow un problema così sottile. non l'avevo mai notato. + 1. l'unica cosa che manca qui è il solito riferimento std. siete andy o qualche altro ragazzo che ha violato l'account di andy? :-) –
Oh dannazione, fantastico. Sto anche usando l'inizializzazione, quindi non stavo capendo perché questo non ha funzionato dato che avevo molte più variabili prima di questa struttura. Quindi per essere chiari. 'int i = 5;' funzionerebbe, ma 'int i;' seguito da 'i = 5;' non funzionerebbe? – Qwerty
@Qwerty: esattamente –