Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2012, 01:09   #1
eymar
Пользователь
 
Регистрация: 23.09.2012
Сообщений: 17
По умолчанию Синтаксическая ошибка: идентификатор

Здравствуйте! Мне необходимо реализовать кольцевой список. Для этого я использую вот такую структуру на которую ругается компилятор:


Код:
typedef struct tag_CNode{
	         //attributes
	int id; //node's index
	tag_CNode *prev;  //Pointer to the previous node in the node's list
	tag_CNode *next;  //Pointer to the next    node in the node's list

}CNode;


Выдает вот такую ошибку: синтаксическая ошибка: идентификатор "tag_CNode"
Скажите, пожалуйста, что я сделал не правильно?
Спасибо большое!

Последний раз редактировалось eymar; 07.11.2012 в 01:12.
eymar вне форума Ответить с цитированием
Старый 07.11.2012, 02:17   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2eymar
язык какой? С?
Цитата:
typedef struct tag_CNode{
//attributes
int id; //node's index
struct tag_CNode *prev; //Pointer to the previous node in the node's list
struct tag_CNode *next; //Pointer to the next node in the node's list

}CNode;
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 07.11.2012, 17:12   #3
eymar
Пользователь
 
Регистрация: 23.09.2012
Сообщений: 17
По умолчанию

Спасибо большое! Да, язык C. Просто в задании было написано именно вот так как я изначально написал.

Могли бы вы также подсказать, в чем тут проблема: у меня есть такая вот функция
Код:
void clear(CNode *head){ // функция удаляет элементы кольцевого списка
CNode *temp, *delel;
	if (head!=NULL){
		temp=head->next;

		while(temp!=head){
		delel=temp;
		temp->prev=NULL;
		temp=temp->next;
		free(delel);
		}

		head->next=NULL;
		head->prev=NULL;

		free(head);
		
	}
	head=NULL;
	printf("EMPTY= %d\n",empty(head) ); // функция empty возвращает 1 если список не пустой, и ноль в обратном случае

	head=NULL;
}
если вызвать функцию empty в главной программе, а не в функции clear, то возвращается единица, не смотря на то что была выполнена функция clear;

Код функции empty:

Код:
int empty(const CNode *head){
	if(NULL!=head){
		return 1;} 
	else{
		return 0; }

}

Спасибо большое!
eymar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтаксическая ошибка.. onliner PHP 8 05.04.2012 21:41
Синтаксическая ошибка? Андрей1966 PHP 4 01.04.2012 08:55
Синтаксическая ошибка Newpitbull PHP 3 05.02.2012 19:27
Синтаксическая ошибка romanzi Общие вопросы Delphi 3 17.04.2011 22:59
Синтаксическая ошибка в VB Rosstarot Помощь студентам 1 20.06.2010 11:32