Mã sau sẽ không biên dịch. Tại sao?Không thể: con trỏ này làm đối số mặc định. Tại sao?
class A
{
int j;
void f(int i = this->j);
}
Chỉnh sửa, để làm rõ. Đây là những gì tôi đang cố gắng làm, sử dụng ít dòng mã hơn ...
class A
{
void f(int i){};
void f();
int j;
};
void A::f()
{
f(j);
}
Bạn còn đang cố gắng làm gì ở đây? –
Vì cá thể không nằm trong phạm vi bên trong khai báo đối số ...? –
"... Biểu thức có thể kết hợp các hàm có thể nhìn thấy trong phạm vi hiện tại, biểu thức không đổi và biến toàn cục. Biểu thức không thể chứa biến cục bộ hoặc biến thành viên lớp không tĩnh ..." –