Я намеревался вызвать функцию члена частного класса, но по ошибке копирования и вставки вставил строку, поскольку эта функция объявлена в заголовочном файле:
void DebugView::on_cbYAxisEnabled_stateChanged(int)
{
void updateAxisEnabled();
}
вместо
void DebugView::on_cbYAxisEnabled_stateChanged(int)
{
updateAxisEnabled();
}
Удивительно, что код был скомпилирован и выполнен. Однако метод updateAxisEnabled()
не был выполнен.
Итак, зачем он компилируется? Была ли здесь локальная функция, объявленная внутри тела метода или имела void
, инструктировала компилятор игнорировать все, что приходит после этого?
Компилятор - это Visual Studio 2008.
P.S.: Я знаю объявление/определение класса внутри функций, но не функции внутри функций в С++.