'da bir" type "hatası vermiyor, bunun için bir açıklama bulmak için ne arayacağımı bilmiyorum, bu yüzden soruyorum.
hata raporları bu kodu vardır:`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;
ama ana değer atama koyarsanız, çalışır:
struct Settings{
int width;
int height;
} settings;
main() {
settings.width = 800; // no error
settings.height = 600; // no error
Beni bunun nedenini açıklar misin?
DÜZENLEME
: Ralph Tandetzky cevabı İlişkin, burada benim tam yapı kodudur. Snippet yaprağımda yaptığınız gibi değerleri nasıl atadığınızı gösterir misiniz?
struct Settings{
struct Dimensions{
int width;
int height;
} screen;
struct Build_menu:Dimensions{
int border_width;
} build_menu;
} settings;
. hiç fark etmemişti. Burada eksik olan tek şey her zamanki std referansıdır. Andy'nin hesabına giren andy ya da başka bir adam mısın? :-) –
Oh lanet olsun, harika. Başlatma özelliğini de kullanıyorum, bu yüzden bu yapının niçin çok daha fazla değişkene sahip olduğumdan bunun neden işe yaramadığını anlamadım. Net olmak gerekirse. int i = 5; 'çalışır, ama' int i; 'i takip ederek' i = 5; 'işe yaramaz mı? – Qwerty
@Qwerty: Tam olarak –