У меня 2 класса:
class base {
virtual void foo() {};
};
class derived : public base {
void foo() { base::foo(); }
};
Я ошибся и написал base:foo();
вместо base::foo();
. Код был скомпилирован и запущен, но произошел сбой.
Я не знаю, как я могу это найти в Google, и не знаю, что это такое, но мне очень интересно: что это значит?
base:foo();
Если это важно:
class base : public QAbstractGraphicsShapeItem
warning: label 'base' defined but not used [-Wunused-label]
... возможно, нам нужно добавить эту страницу с вопросом: Вы пробовали включить предупрежденияОтветы:
void foo() { base:foo(); }
эквивалентно:
void foo() { base: // An unused label. foo(); // Calls the function again, resulting in infinite recursion. }
Из-за бесконечной рекурсии функция вызывает переполнение стека.
источник
foo()
в стеке вызовов. спасибо-Wall
получаю предупреждающее сообщение: socc.cc:3:4: warning: label 'base' определен, но не используется [-Wunused-label] base: // Неиспользуемый ярлык.