tôi có 2 lớp:Điều gì: nghĩa là gì?
class base {
virtual void foo() {};
};
class derived : public base {
void foo() { base::foo(); }
};
Tôi đã phạm sai lầm và viết base:foo();
thay vì base::foo();
. Mã đã được biên dịch và chạy, nhưng bị phân đoạn.
Tôi không biết làm cách nào để Google có thể và không biết nó là gì, nhưng tôi rất quan tâm: điều đó có nghĩa là gì?
base:foo();
Nếu điều quan trọng là:
class base : public QAbstractGraphicsShapeItem
Đó là [nhãn] (http://en.cppreference.com/w/cpp/language/goto). – chris
Đây là trường hợp bật cảnh báo giúp, xem [live] (http://melpon.org/wandbox/permlink/ey2lvaSxYPlkjsXG) ... 'warning: label 'base' được xác định nhưng không được sử dụng [-Wunused-label ] '... có lẽ chúng ta cần phải thêm điều này yêu cầu một trang câu hỏi: * Bạn đã thử bật cảnh báo * –
Điều đó kết thúc với một tràn ngăn xếp. Làm thế nào thích hợp! –