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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2010, 21:50   #1
Shnutser
 
Регистрация: 25.04.2010
Сообщений: 6
По умолчанию Visual studio не понимает синтаксис

Здравствуйте, очень нужна ваша помощь, в С++ я полный нюб и вот никак не разберусь с синтаксисом. Имеется вот такой код

Код:
class TMapElDot{
public:
	CPoint coord;		//координаты точки
	bool pr1, pr2;		//признаки точки
public:
	TMapElDot(CPoint dot){pr1 = true; pr2 = true; coord = dot;};
	TMapElDot(){pr1 = true; pr2 = true;};
	~TMapElDot(){};
};
//"Карта точек" - список точек для обработки
class TMapDot{
public:
	list<TMapElDot> map;	//карта точек на изображении
	TMapDot(){};
	~TMapDot(){map.clear();};
};
Ругается на строчку

Код:
list<TMapElDot> map;
Может компилятор другой нужен, который поймет это выражение или <TMapElDot> нужно определить по другому?
Shnutser вне форума Ответить с цитированием
Старый 25.04.2010, 23:45   #2
Impuls1989
Форумчанин
 
Аватар для Impuls1989
 
Регистрация: 16.08.2008
Сообщений: 276
По умолчанию

Для начала:
У вас два раза объявлена секция public. Зачем объявлять деструктор, если в нем ничего не уничтожается? Делайте так:
Код:
class TMapElDot{
private:
	CPoint coord;		//координаты точки
	bool pr1, pr2;		//признаки точки
public:
	TMapElDot(CPoint dot){pr1 = true; pr2 = true; coord = dot;};
	TMapElDot(){pr1 = true; pr2 = true;};
};
//"Карта точек" - список точек для обработки
class TMapDot{
public:
	list<TMapElDot> map;	//карта точек на изображении
	TMapDot(){};
	~TMapDot(){map.clear();};
};
Насчет шаблонных переменных: шаблонные классы, не могут быть вложенными. Вложенность шаблонных классов приводит к ошибке. А так как у вас TMapElDot не шаблонный, значит все должно работать превосходно. Единственное что приходит на ум, это то, что у вас класс TMapElDot объявлен в другом заголовочном файле, а в этом вы его не подключили...

И еще! Хотелось бы увидеть ошибку.
Искусственный интеллект - фигня по сравнению с естественной глупостью

Последний раз редактировалось Impuls1989; 25.04.2010 в 23:50.
Impuls1989 вне форума Ответить с цитированием
Старый 25.04.2010, 23:46   #3
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

и как же ругается?
может надо так

Код:
#include<list>

std::list<TMapElDot> map;
counter вне форума Ответить с цитированием
Старый 26.04.2010, 00:21   #4
Shnutser
 
Регистрация: 25.04.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от counter Посмотреть сообщение
и как же ругается?
может надо так

Код:
#include<list>

std::list<TMapElDot> map;
Спасибо огромное, помогло
Shnutser вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual studio не понимает синтаксис Shnutser Visual C++ 1 26.04.2010 04:26
Проблема с windows visual styles в Visual studio 2008 express. [awa Visual C++ 2 09.01.2010 06:05
Visual Studio Standard 2008 против Visual Studio Express 2008. Стоит ли покупать? Casper-SC Софт 4 31.12.2009 11:46
VISUAL STUDIO 2008 defaul language - как переключить в VISUAL STUDIO 2008 язык программирования, использ Эйнж Общие вопросы C/C++ 0 27.12.2009 20:39
RAD studio 2009 не понимает функцию StrToInt(x) hawk1984 Общие вопросы Delphi 4 29.09.2009 23:37