[ÇÖZÜLDÜ]Obje tanımlama sorunu



  • sorunun biri biter diğeri başlar.
    Neyse bende aynı amaca yazılmış iki tane birbirinden biraz farklı iki ufak program var.Sorunum şimdi
    A sınıfından B sınıfı form türetiyorum bu B sınıfından butona tıkladığım zaman A sınıfında belirli fonksiyonu çalıştıracağım.İzlediğim yol iki programdada aynı Ama biri çalışırken diğerinde bu yol çalışmıyor

    class A{
    //CPP DOSYASI
    void yenile(){ birşeyler}
    void Getir(){
    B *b = new B;
    b->setParentThis(this);
    b->show();
    }
    }
    class B{
    A obje;//Header dosyasında tanımladığım global obje

    //CPP dosyası içinde
    void setParentThis(A *a){
    obje = a;
    }

    void click(){
    //tıklandığında ana formdaki fonksiyonu çalıştırıcak
    obje->yenile();
    }

    }
    Çalışma şekli böyle A'dan B'yi çağırdımda B'deki global A Sınfı Objesini setParentThis ile A'ya eşitliyorum
    sonrada B Classından global obje ile istediğim gibi A Forumunu yönlendiriyorum.
    Bu yol bir prog. çalışırken diğerinde çalışmadı .
    Aldığın Hata

    syntax error identifier 'A';
    syntax error:missing ';'before *;
    error: C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    C2660: 'CariEkle::setParentThis' : function does not take 1 arguments



  • Arkadaşlar Sorunu zorda olsa çözdüm.Sorun Başlık dosyalarından kaynaklanıyormuş.Mesela A ve B Classı olsun.
    Ben B Classından A Classı obje yaratmak için A.h dosyasını B.h dosyasına include ettim diyelim bu şekilde bir sorunla karşılaşmayacaksınız ama
    Üstteki includu yaptıktan sonra A Classında A.h dosyasına B.h dosyasını include ederseniz ve A.h içinde global bir B Objesi tanımlarsanız size "'...' does not name a type(MinGW Compiler) diye bir hata verecek


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.