Yalnızca bir başlık kitaplığı uygulamasını aşağıdaki gibi düşünün: foo ve çubuk döngüsel bağımlılığa sahip. Bir (client.cpp) dosyasında bu başlığı içeren ve dışarı yorum girmeTek bir başlıktaki kitaplıktaki döngüsel bağımlılık
class bar;
class foo {
public:
foo(std::shared_ptr<bar> bar_){
//bar_->mar()
}
void moo() {};
};
class bar {
bar(std::shared_ptr<foo> foo_) {
foo_->moo();
}
void mar() { };
};
// çubuğu _-> mar(), derleyici hata veriyor:
error C2027: use of undefined type 'bar'
see declaration of 'bar'
error C2039: 'mar': is not a member of 'std::shared_ptr<bar>'
çözülebilir verilen sorundur kütüphanenin sadece başlık olduğunu mu?
"Bu başlık okunur olmayan kütüphane Uygulamayla ilgili sınıfları var çünkü." Ben yazar başlıklardaki uygulama vardır anlayabileceği gibi bu nedenle bununla bu yüzden sence:
Bu kod Tamam derler başlık sadece kütüphane değil mi? – Sandro
Bir başlık sadece kütüphane uygulama ile IS sınıfları. – goldcode