class TConst
{
const int i;
int& ref;
public:
TConst(int n):i(n),ref(n){}
static void p1(){prn(i);}//error here
};
Trình biên dịch của tôi tạo ra lỗi khi tôi cố gắng sử dụng thành viên lớp const
trong chức năng thành viên static
.Tại sao chúng ta không thể sử dụng các thành viên const trong các hàm thành viên tĩnh?
Tại sao nó không được phép?
Vui lòng luôn đăng lỗi đầy đủ mà bạn nhận được. – orlp
const int vẫn còn ràng buộc với một đối tượng, không phải lớp. – nullpotent
Trong một phương thức tĩnh, không có cá thể lớp để không có thành viên lớp nào ... FYI bạn có thể tạo 'static const int i = 42;' nếu bạn muốn sử dụng nó theo cách này. – AJG85