Tôi không chắc chắn chính xác cần bao nhiêu thông tin để trả lời câu hỏi này, vì vậy hãy cho tôi biết nếu cần thêm thông tin.Lớp C++ không phải là cơ sở của chính nó
Im sửa đổi mã lớn tôi đã viết khi tôi đột nhiên gặp phải thông báo này: error: type 'integer' is not a direct base of 'integer'
. tôi biết một vấn đề thừa kế của nó, nhưng im không kế thừa các lớp khác.
Mã đó gây ra vấn đề này là
integer(const std::string & val, uint16_t base): integer(val.begin(), val.end(), base) {}
và
integer(iterator start, iterator end, uint16_t base)
đã được xác định.
Tôi cần phải làm gì để khắc phục sự cố này?
EDIT: im biên soạn với -std = C++ 0x, mà theo các câu trả lời, tôi sẽ có thể biên dịch, trừ khi trình biên dịch của tôi là cũ: gcc 4.6.2 tôi nghĩ rằng
Cập nhật câu trả lời, có sẵn trong gcc 4.7 trở đi. – hmjd