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