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

Левостороннее значение - C++

Восстановить пароль Регистрация
 
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
26.04.2012, 19:02     Левостороннее значение #1
Помогите! как писать в элемент при индексации?
в векторе - указатель. По нему создан массив.
в методе operator[](int index) возвращаю:
return vect[index/size_of_block][index%size_of_block]
но закомментированная строка вызывает ошибку левого операнда
как быть??

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//
 
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
 
template <class Type> class mas
{
    vector <Type*> vect;
    unsigned int size_of_block;
    unsigned int size;
public:
mas()
    {
        size_of_block=50;
        size=50;
        Type*p=new Type[size_of_block];
        vect.push_back(p);
    }
mas(unsigned int _size)
    {
        size_of_block=_size;
        size=size_of_block;
        Type* p=new Type[size_of_block];
        vect.push_back(p);
    }
Type operator[](int index)
{
    if(index<size)
    {
 
        return vect[index/size_of_block][index%size_of_block];//делим нацело - получаем номер блока - указатель, а теперь надо взять элемент массива, созданного по этому указателю
    }
}
 
};
void main()
{
    mas <int> mass;
    //mass[32]=10;
    cout<<mass[32];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 19:02     Левостороннее значение
Посмотрите здесь:

C++ Для данного вещественного х найти значение следущей функции f, принимающей значение целого типа:
Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение C++
C++ Вывести начальные индексы всех елементов массива, значение которых превышает заданое значение А.
Вычислить значение функции a = b ^2 sin (b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти среднее значение разности между элементами C++
C++ error C2105: для "++" требуется левостороннее значение
C++ циклы. Требуется найти максимальное значение функции на отрезке [a,b] и значение x C++
Найти столбик, в котором среднее арифметическое значение из положительных элементов имеет минимальное значение C++
Вычислить значение аргумента x, значение функции y, max и min функций C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
26.04.2012, 19:28     Левостороннее значение #2
Возвращай ссылку:
C++
1
Type& operator[](int index)
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
26.04.2012, 19:35  [ТС]     Левостороннее значение #3
сказываются бессонные ночи: я этот амперсант уже к ретурну тулил во все места... материал первого курса... стыдно не знать...
точнее забыть!
Yandex
Объявления
26.04.2012, 19:35     Левостороннее значение
Ответ Создать тему
Опции темы

Текущее время: 12:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru