Bunun neden çalışmadığını anlayamıyorum. Her zaman 'bu' işaretçisini kurucunun içinde kullanabileceğimi düşündüm, ancak başlatma listesindeki 'bunu' kullanamayacağımı asla bilemedim.Kurucunun başlangıç listesinde 'bu' işareti
#include <iostream>
class A {
public:
int a;
int b;
A(int a = 0, int b = 0) : this->a(a), this->b(b) { }
void print() {
std::cout << a << ", " << b << std::endl;
}
};
int main() {
A a;
a.print();
}
Onunla ilgili ayrıntıları bilmek istiyorum.
"Dil avukatını" etiketledim: Cevabımın doğru olduğuna ikna olmadım. – Bathsheba
Kurucunun gövdesinde değilsiniz, ancak kurucunun başlatıcı listesinde bulunuyorsunuz. –
@DavidSchwartz 'b (this-> a)' sadece iyi olurdu. – Potatoswatter