Форум программистов, компьютерный форум CyberForum.ru

Перегрузка оператора индексирования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка коллекции CMap http://www.cyberforum.ru/cpp-beginners/thread508124.html
Помогите, кто может !!! Сортировка в коллекции CMap for (int a=2; a<=mm.GetCount();a++) { mm.GetNextAssoc(pos,string,th); //получения значения и ключа for(int i=0;i<mm.GetCount()-1; i++) { mm.GetNextAssoc(pos,string,th1); mm.GetNextAssoc(pos1,string,th); //получения значения и ключа if(th>th1) {mm1.SetAt(th.Name, th2);mm.SetAt(th1.Name, th);mm.SetAt(th2.Name, th1);} } ...
C++ Считать числа типа double из файла и записать их в массив Проблема следущая: нужна программа которая считывает числа типа double из файла (в моем случае это индексы валютного курса) и записывает их в массив double A. т.е есть файлик примерно с таким содержанием: 31,7101 31,784 http://www.cyberforum.ru/cpp-beginners/thread507831.html
Диалог запроса логина и пароля C++
Уважаемые программисты, не подскажите как вызвать системный диалог запроса логина и пароля у пользователя через Win32 Api и в какой длл он живет. Пишу прогу на Vba, и торкнуло меня это сделать красиво, а не каждый раз формы самопальные мастерить.
vector , Поиск в списке по указателю, корректно ли это? C++
Доброго времени суток! Есть вектор. Вектор хранит указатели на объекты. У объектов есть поле . Это поле используется для сравнения объектов. В некоторый момент, после обработки очередного объекта мне необходимо удалить физически и из вектора объект с значением меньшим чем у объекта . После удаления, мне необходимо продолжить поиск объектов с значением меньшим чем у , и т.д. Т.е. необходимо...
C++ FindNextFileChange & FindFirstFileChange http://www.cyberforum.ru/cpp-beginners/thread507612.html
Собственно сабж
C++ Синтаксический анализатор. Рекурсия Пожалуста, помогите кто чем может... знаю, что это не так сложно, но не представляю, как реализовывать. необходимо сделать с помощью рекурсии... Построить синтаксический анализатор понятия список_параметров. список_параметров::=параметр|параметр, список параметров подробнее

Показать сообщение отдельно
PLAstic
Сообщений: n/a

Перегрузка оператора индексирования - C++

28.05.2007, 03:03. Просмотров 3749. Ответов 3
Метки (Все метки)

Что-то не выходит каменный цветок. Определение класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct TEventData {
 char strComputerName[128];
};
class TEventDataSet
{
private:
 int iCurrentRecordNo;  //текущая запись
 TEventData* Buffer[]; //буфер
public:
 int iRecordCount;   //количество записей
 TEventData* CurrentRecord;  //структура новой записи для заполнения
 TEventData& __fastcall operator [](const int idx);  //пытаюсь перегрузить оператор индексирования
 void __fastcall AppendRecord();
};
И вот реализация перегрузки:
C++
1
2
3
4
5
6
7
8
9
10
TEventData& __fastcall TEventDataSet::operator [](const int idx)
{
 if ((idx >= 0) && (idx <= iRecordCount))
 {
  iCurrentRecordNo = idx;
  CurrentRecord = Buffer[iCurrentRecordNo];
  return *(TEventData*)CurrentRecord;
 }
 return (*(TEventData*)Buffer[0]);
}
Подозреваю, что могу быть сильно далёк от правильного написания кода, ибо не занимался этим уже несколько лет. При вызове этой писанины путём
C++
1
2
3
TEventDataSet EventData;
EventData.AppendRecord();
EventData[0]->strComputerName = "pipec";
Возникает ошибка
E2288 Pointer to structure required on left side of -> or ->*
В чём загвоздка?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru