Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление своего типа в класс, unexpected 'class' 
V
    Опции темы
Kostt
Дата 16.2.2006, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 8.1.2006
Где: Томск

Репутация: 1
Всего: 3



Здравствуйте!
Я хочу добавить массив своих простеньких структурок в свой класс.

Завел файл ParamInfo.h

typedef struct ParamInfo
{
LONG m_ID;
INT m_DataType;
CString m_Name;
CString m_Description;
}

Подключаю к заголовочнику своего класса, ругается! unexpected 'class'('MyClass') Что не так?
PM MAIL   Вверх
azesmcar
Дата 16.2.2006, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Код

#ifndef __PARAMINFO_H__
#define __PARAMINFO_H__

typedef struct
{
   LONG m_ID;
   INT m_DataType;
   CString m_Name;
   CString m_Description;
} ParamInfo;

#endif


Код

#ifndef __MYCLASS_H__
#define __MYCLASS_H__

class MyClass
{
public:
   MyClass();
   ~MyClass();
private:
   ParamInfo m_ParamInfoArray[10];
};
#endif

PM   Вверх
Neitron
Дата 16.2.2006, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



Интресно кто же учит так тупо объявлять структуры через typedef.
Меня почему то , когда так пишут очень сильно напрягает.

Это сообщение отредактировал(а) Neitron - 16.2.2006, 10:11


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
azesmcar
Дата 16.2.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата

Интресно кто же учит так тупо объявлять структуры через typedef.
Меня почему то , когда так пишут очень сильно напрягает.


К примеру я знаю фирму у которой такой вид обьявления структуры введен в Coding-Standard...притом фирма серьезная..

У каждого свой стиль...тебя это с чего напрягает?
PM   Вверх
Kostt
Дата 16.2.2006, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 8.1.2006
Где: Томск

Репутация: 1
Всего: 3



Спасибо за советы!
PM MAIL   Вверх
DeadSoul
Дата 16.2.2006, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(Neitron @ 16.2.2006, 10:11 Найти цитируемый пост)
Интресно кто же учит так тупо объявлять структуры через typedef.


Код

struct
{
   LONG m_ID;
   INT m_DataType;
   CString m_Name;
   CString m_Description;
} ParamInfo;

void Foo( ParamInfo* );// Раньше приводило к ошибке компиляции, нужно было писать
void Foo( struct ParamInfo* );

Понятно, что каждый раз писать struct не хочется. Поэтому писали typedef

P.S. Это достаточно старые воспоминания, следовательно доверять им со 100% уверенностью не стоит


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Neitron
Дата 17.2.2006, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



У тебя в этом коде ошибка в любой случае....

ParamInfo; в данном случае имя экземпляра а не имя структуры.


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
DeadSoul
Дата 17.2.2006, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(Neitron @ 17.2.2006, 12:06 Найти цитируемый пост)
У тебя в этом коде ошибка в любой случае....

Зануда. smile

Имелось ввиду
Код

struct ParamInfo
{
   LONG m_ID;
   INT m_DataType;
   CString m_Name;
   CString m_Description;
};


vs

Код

typdef struct ParamInfo_
{
   LONG m_ID;
   INT m_DataType;
   CString m_Name;
   CString m_Description;
}ParamInfo;



--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0550 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.