Pereiti prie turinio

Reikia pagalbos, C++ pointers


Rekomenduojami pranešimai

Sveiki,

Gal žinote kaip išspręsti šį errora(screenshote)? Esmė tame kad man reikia Vm klasėje susikurti rodyklę į Kernel klase.

 

#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace std;

class Vm
{
 class Kernel *kernel;
public:
   Vm(Kernel *p_kernel)
   {
           kernel=p_kernel;
       }
};

class Kernel
{
   int a;
public:
   Vm vm(this);
};
int main()
{
int xy; cin >>  xy;
}

 

post-35192-017623800 1299787680_thumb.jpg

Nuoroda į pranešimą
Dalintis kituose puslapiuose

A vat kaip ten reikėjo, o dabar tarkim as sukuriu dvi funkcijas ir noriu su vmFunction() pakeisti kintamąjį a easantį Kernel klasėje. Bet kodėl man neleidžia to padaryti?

 

#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace std;

class Vm
{

 class Kernel *kernel;
public:
   Vm(Kernel *p_kernel)
   {
      kernel=p_kernel;
   }
 void vmFunction()
 {
   kernel->setA(4);
 }
};

class Kernel
{
   int a;
   Vm vm;
public:
   Kernel() : vm(this)
       {

       }
   void setA(int num)
   {
       a=num;
   }
};
int main()
{
int xy; cin >>  xy;
}

Redagavo Camp3r
Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace std;

class Vm
{

 class Kernel *kernel;
public:
   Vm(Kernel *p_kernel)
   {
      kernel=p_kernel;
   }
   void vmFunction(); 

};


class Kernel
{
   int a;
   Vm vm;
public:
   Kernel() : vm(this)
       {

       }
   void setA(int num)
   {
       a=num;
   }
};


void Vm::vmFunction()
{
 kernel->setA(4);
}

int main()
{
int xy; cin >>  xy;
}

Funkcijų implementacijas reikia rašyti po Kernel klase kad kompiliatorius ją "matytų".

Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace std;

class Vm
{

 class Kernel *kernel;
public:
   Vm(Kernel *p_kernel)
   {
      kernel=p_kernel;
   }
   void vmFunction(); 

};


class Kernel
{
   int a;
   Vm vm;
public:
   Kernel() : vm(this)
       {

       }
   void setA(int num)
   {
       a=num;
   }
};


void Vm::vmFunction()
{
 kernel->setA(4);
}

int main()
{
int xy; cin >>  xy;
}

Funkcijų implementacijas reikia rašyti po Kernel klase kad kompiliatorius ją "matytų".

 

Ačiū :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...