Сишные выкрунтасы....

cDLEON

Онанист РНРСlub
Сишные выкрунтасы....

Можно ли на си, как-нибудь, без void объявить вот такую структурку ? :)
Код:
typedef struct sd_s_amf_value {
	char		type;
	unsigned int	count;
	unsigned int	current;
	union	{
		int	i;
		char	c[SD_AMF_MAX_VALUE_LENGTH];
		double	f;
		struct 	sd_s_amf_object	{
			sd_amf_name 			name;
			[b]struct sd_s_amf_value		value;[/b]
		}	o[SD_AMF_MAX_OBJECT_CHILDS_COUNT];
	}				value;
} sd_amf_value;
Или я многого хочу\у меня проблемы с логикой? Ни как не могу отвязать от себя динамическую типизацию :) Уж очень удобна она для решения такой задачи :)
 

facelift

Новичок
cDLEON
struct sd_s_amf_value * value;

-~{}~ 15.05.08 18:47:

Размеры объектов должны быть известны во время компиляции, поэтому такое не прокатит:

Код:
struct Node
{
	Node prev;
	Node next;
};
а такое прокатит
Код:
struct Node
{
	Node *prev;
	Node *next;
};

struct Node
{
	Node &prev;
	Node &next;
};
PS: Ссылка - тот же указатель, только разыменуется автоматически
 

cDLEON

Онанист РНРСlub
К сожалению, динамическое выделение этого дела не желательно.
Т.е. указатели не катят :(
а вот это - не понятно:
Код:
struct Node
{
	Node &prev;
	Node &next;
};
От чего мы берём адрес?
-----
Как поступить в такой ситуации ? (
Не очень хочется объявлять для объекта ещё одну структуру с значением.
ЗЫ. А ведь вычислить размер такой структуры не составляет труда :(
 

facelift

Новичок
cDLEON

Это ссылки
int x = 10;
int &y = x;

y = 88; // x = 88

Ты лучше скажи что тебе сделать надо.
 

cDLEON

Онанист РНРСlub
Мне нужно без динамического выделения добавить в структуру массив клонов этой структуры. Что б потом одной функцией можно было с этим всем делом работать и без приведения типов....
 

Alexandre

PHPПенсионер
Мне нужно без динамического выделения добавить в структуру массив клонов этой структуры.
массив указателей на твои клоны спасет отца Русской демократии.
 

Frol

Новичок
окей, вычисли. sizeof примитивных типов будем считать равным единице.
 

cDLEON

Онанист РНРСlub
Ыыы. Я чего то глюкнул блин....Тут получается полностью бесконечная рекурсия :)
Ну что ж...Придётся делать что то вроде sd_amf_init() а в структуру ложить указатели :) на уже выделенный динамически большой блок памяти :)
Спасибо за диалог )))
 
Сверху