Quelqu'un pourrait-il expliquer le code ci-dessous?Comprendre les pointeurs et les références en C++
A{}
C{public: begin(&a); private: A *a;}
begin(&a)
{
a = &a;
}
B{private: A *a; C *c; start(); }
start(){
c->begin(&a);
}
=> En B, l'objet A est créé et C l'objet A est référencée à l'un objet dans B.
je suis arrivé à ce problème:
no matching function for call to: begin(a**), candidate: begin(&a)
Dans le cas contraire , je peux écrire cela en C# et je ne suis pas sûr de savoir comment mettre en œuvre ce en C++:
public class A
{
public A(){}
}
public class B
{
A a;
C c;
public B()
{
c = new C();
}
void start()
{
a = new A();
c.begin(a);
}
}
public class C
{
A a;
public C(){}
public void begin(A a)
{
this.a = a;
}
}
S'il vous plaît signaler * vrai * code, c'est confus. –
Je suis plus de la moitié tenté d'enlever la balise C++. –
Le message d'erreur ressemble à un message d'erreur craché par un compilateur C++. Évidemment, la syntaxe est bien loin. –