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

Оператор индексирования [] С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Среда для C++ http://www.cyberforum.ru/cpp-beginners/thread988280.html
Начал изучать С++, но не могу найти нормальную IDE. Использовал DevC++, но там очень часто возникают ошибки на пустом месте. Подскажите что лучше использовать для обучения? и вообще, кто что использует?
C++ При повторном обращении к объекту меняется его содержимое Добрый день! У меня такая странная проблема: есть две одинаковые строчки кода подряд: cout << testTree.rightSon->siz << endl; cout << testTree.rightSon->siz << endl; Выводится сначала число 13, затем число 0. В программе задумано, чтобы siz действительно было равно 13. Скажите, пожалуйста, почему значение может так меняться? Код не привожу, т.к. там кода очень много и он запутанный, по... http://www.cyberforum.ru/cpp-beginners/thread988270.html
контейнер vector C++
Как я понимаю, vector представляет собой что-то вроде динамического массива. Но массивы бывают одномерные,двумерные и так далее. Есть ли возможность реализовать что-то подобное в vector?
C++ Сортировка подсчетом с++
Всем привет. Есть такая проблемка. vs2010 выдает "Прекращена работа программы". Задание - ввод данных в массив, его нужно отсортировать сортировкой подсчетом и применить бинарный поиск к отсортированному массиву. После ввода данных вылетает "Прекращена работа программы". Бинарный поиск работает верно. Помогите, пожалуйста!! Код на с++: #include <iostream> using namespace std; class...
C++ Бинарное дерево по заданому выражению http://www.cyberforum.ru/cpp-beginners/thread988247.html
Построить и вывести на экран бинарное дерево следующего выражения: 9 + 8 * (7 + (6 * (5 + 4) - (3 - 2)) +1) Написать функции постфиксного, инфиксного и префиксного обхода дерева и вывести соответствующие выражения на экран. Во время тестирования программы необходимо : проверить правильность ввода и вывода данных (т.е. их соответствие необходимому типа и формата ) . Обеспечить адекватную...
C++ Реализация стека массивом При реализации стека массивом обеспечить размещение двух стеков в одном массиве. Один стек размещается в начале массива и растет до конца, а второй располагается в конце массива и растет к началу. Заполнить и освободить стеки произвольным образом, вводя значения с клавиатуры. Элементами стека является действительные числа. В виде списка реализовать один стек. Как такое сделать ? подробнее

Показать сообщение отдельно
Vladislav_
4 / 4 / 0
Регистрация: 25.06.2013
Сообщений: 9

Оператор индексирования [] С++ - C++

26.10.2013, 03:41. Просмотров 499. Ответов 6
Метки (Все метки)

Я перегрузил оператор индексирования таким образом:
C++
1
 float* operator[] (unsigned int i){return arr[i];}
я не уверен в том что я корректно его перегрузил...
И у меня есть перегруженный оператор суммирования, определенный вне класса:
C++
1
2
3
4
5
6
7
8
FMATRIX& operator+ (FMATRIX &a, FMATRIX &b){
    if (a.GetCol() != b.GetCol() || a.GetRow() != b.GetRow()) return a;
    FMATRIX *temp = new FMATRIX(a.GetCol(), a.GetRow());
    for (unsigned int i = 0; i < a.GetCol(); i++)
        for (unsigned int j = 0; j < a.GetRow(); j++)
            *temp[i][j] = a[i][j] + b[i][j];
    return *temp;
}
Проблема в том что когда я пишу так: temp->operator[](i)[j] = a[i][j] + b[i][j]; то у меня все работает норм! Но когда я хочу записать таким образом его: *temp[i][j] = a[i][j] + b[i][j]; то прога хоть и компилируется но потом на каком то этапе исполнения выбивает ошибку:
- this 0x0080789c {arr=0xfdfdfdfd _col=2880154539 _row=2880154539 } FMATRIX * const
- arr 0xfdfdfdfd float * *
CXX0030: ошибка: невозможно вычислить выражение

КАК ИСПРАВИТЬ, ЧТО БЫ МОЖНО БЫЛО записывать как в моем примере перегрузки оператора+ который выше.
или что вообще нужно изменить что бы этот оператор конкретно работал??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru