Я заметил, что добавляет ключевое слово class
или struct
к типу, который в противном случае должен был быть объявлен вперед. работает так, как если бы этот тип был объявлен вперед:
// struct Test; forward declaration commented
void* foo(struct Test* t) // C style function parameter - This works !
{
return t;
}
Я не знал об этом. Я задаюсь вопросом, является ли это стандартным С++ или расширением и является ли ключевое слово struct
до того, как параметр работает как объявление вперед или другой механизм запускает.
Кроме того, после такого использования функция "next" может использовать тип без добавления каких-либо ключевых слов:
void* oof(Test* t);