Я рассмотрел приведенный ниже вопрос, чтобы проверить, могут ли функции быть определены внутри функций.
Можем ли мы иметь функции внутри функций?
Принятый ответ говорит, что это НЕТ. Я попробовал и получил тот же результат.
Но когда я попытался скомпилировать приведенный ниже код (только объявление), он скомпилировался. Я не совсем уверен, почему это разрешено.
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int a, *b, f(int c); //trying out multiple name declaration
int f(int c);
}
int f(int c);
- person eerorika   schedule 13.08.2018template<> auto g(double); // OK, forward declaration with unknown return type
. Конечно, это предварительное объявление шаблона функции, но имеет ли это значение? Насколько я знаю, стандарт на самом деле не определяет, что такое объявление forward, и это просто прилагательное, описывающее объявление, а не технический термин. Я ошибаюсь? - person eerorika   schedule 13.08.2018