Typedef struct X{X* pX;}X; - C (СИ)
Формулировка задачи:
Собственно сабж:
Когда происходит объявление
typedef struct X{ X* ptrX; }X;
ptrX
типX
еще не объявлен. Как сделать "по дзену" ?Решение задачи: «Typedef struct X{X* pX;}X;»
textual
Листинг программы
#include <iostream> struct thing { friend std::ostream& operator<< (std::ostream &os, const thing& t); }; std::ostream& operator<< (std::ostream &os, const thing &t) { os << "thing"; return os; } typedef int counter_t; typedef thing thing_t; int main() { counter_t a = counter_t(); thing_t t = thing_t(); std::cout << a << ' ' << t << ' '; }
Объяснение кода листинга программы
- Включается заголовочный файл
<iostream>
, который содержит определения стандартных потоков ввода-вывода. - Определяется структура
thing
. - Определяется дружественный оператор
<<
для структурыthing
и стандартного потокаstd::ostream
. - В операторе
<<
для структурыthing
выводится строкаthing
. - Типизируются переменные
a
иt
какcounter_t
иthing_t
соответственно. - Переменной
a
присваивается значение по умолчанию для типаcounter_t
. - Переменной
t
присваивается значение по умолчанию для типаthing_t
. - Выводится значение переменной
a
на стандартный поток выводаstd::cout
. - Выводится значение переменной
t
на стандартный поток выводаstd::cout
. - Возвращается пустая строка.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д