Olası Çoğalt:
Forward declaration of nested types/classes in C++Bir iç sınıf bildirmeyi nasıl yönlendirebilirim?
Ben referans ile bir Konteyner :: yineleyici geçmek istiyorum, başka yerde ... Bir sınıf şöyle
class Container {
public:
class Iterator {
...
};
...
};
var ancak başlık dosyasını eklemek istemiyorum. Sınıfı bildirmeyi denerseniz, derleme hataları alıyorum.
class Container::Iterator;
class Foo {
void Read(Container::Iterator& it);
};
Ben Yineleyici sınıf beyan dosyasının eklenmesinin zorunda kalmamak
test.h:3: error: ‘Iterator’ in class ‘Container’ does not name a type
test.h:5: error: variable or field ‘Foo’ declared void
test.h:5: error: incomplete type ‘Container’ used in nested name specifier
test.h:5: error: ‘it’ was not declared in this scope
nasıl ileriye bu sınıfı ilan edebilir ... Yukarıdaki kod verir Derleme?
Ortak taban sınıfı, en sonunda benim için kullanılan çözümdür. – Coyote
İsterseniz arkadaşınızı bu konuda çalışmak için kullanabilirsiniz. –
Bu yanlış: http: //en.cppreference.com/w/cpp/language/nested_types – Nikerboker