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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
#1

Не могу получить объект по индексу в vector, где же ошибка? - C++

31.08.2013, 21:49. Просмотров 382. Ответов 8
Метки нет (Все метки)

Есть класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Processor
{
private:
  int operationTime;
  list<Problem*> *taskList;
public:
  Processor();
  ~Processor();
 
  void setOperationTime(int time);
  int getOperationTime();
  void addProblem(Problem *problem);
  void delLastProblem();
};
и функция main в которой я никак не могу получить доступ к [1] элементу вектора
28 строка
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
#include <iostream>
#include <vector>
#include <locale>
#include <algorithm>
#include "Problem.h"
#include "Processor.h"
 
using namespace std;
 
//Объявления
int initializationListOfProblem(vector<Problem> *problems, int number);
bool compareTimeProblems(Problem p1, Problem p2);
bool hasTimeLimit(size_t numberProcessor);
 
//Глобальные значения
size_t numberOfProblems(0); //Количество задач
int timeLimit(0);               //Минимальное время для выполнения всех задач на 3 процессорах
vector<Processor> allProcessors(3);
vector<Problem> *allProblems;
 
int main()
{
  setlocale(LC_ALL, "Russian");
 
  int allTimeProblems(0);       //Время выполнения всех задач на 1 процессоре
  allProblems = new vector<Problem>;
 
  allProcessors[1].getOperationTime();
 
  cout << "Введите количество задач: " << flush; cin >> numberOfProblems;
 
  allTimeProblems = initializationListOfProblem(allProblems, numberOfProblems);
  sort(allProblems->begin(), allProblems->end(), &compareTimeProblems);
 
  int t;
 
  return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2013, 21:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу получить объект по индексу в vector, где же ошибка? (C++):

Указатель на объект вектор в векторе vector < vector<int>* >* - C++
Дело касается вот чего, есть такая вот незатейлевая вещь. #include &lt;vector&gt; #include &lt;iostream&gt; int main( ) { using...

Не могу понять где объект в куче или в стеке ! - C++
Сразу к примеру: class Zombie; { Soldat soldat; // что солдат внутри зомби делает не спрашивайте String name; int ...

Ошибка [Linker error] undefined reference to `Vector::Vector(int)' - C++
Добрый день. Делал по методички, и почему-то валятся ошибки... файл lab9_main.cpp #include &lt;iostream&gt; #include &quot;Vector.h&quot; int...

Вставить число К перед всеми элементами, кратными своему индексу. Где ошибка в коде? - Delphi
procedure TForm3.Button3Click(Sender: TObject); var j,k,z: integer; begin Edit4.Text:=' '; k:=StrToInt(Edit3.Text); for i:= 1...

Проблемма с указателем... Не могу получить объект по ссылке - Delphi
Доброго времени суток, Мастера!!! Много слышал, что указатели решают многие проблеммы простого программиста (только за пивом не...

Объект перемещается не так как должен - подскажите где ошибка - OpenGL
По идее, квадрат должен двигаться вправо-вниз, но двигается во влево вниз. В чём может быть причина? float x = 0; float y = 0; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
31.08.2013, 22:01  [ТС] #2
Убежденный, нет, ошибка только в 28 строке
Через дебагер все выглядят нормально, вектор с 3 элементами, но получить доступ никак не могу
0
Gorillych
14 / 14 / 1
Регистрация: 04.07.2013
Сообщений: 76
31.08.2013, 22:02 #3
Цитата Сообщение от DaskOFF Посмотреть сообщение
allProcessors[1].getOperationTime();
функция getOperationTime() должна значение типа Int куда-то вернуть, а Вы ее как void используете.
так может:
C++
1
int p = allProcessors[1].getOperationTime();
0
Убежденный
Системный программист
Эксперт С++
15550 / 7058 / 1114
Регистрация: 02.05.2013
Сообщений: 11,468
Завершенные тесты: 1
31.08.2013, 22:03 #4
Цитата Сообщение от DaskOFF Посмотреть сообщение
Убежденный, нет, ошибка только в 28 строке
Текст ошибки можете привести ?
0
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
31.08.2013, 22:04 #5
Цитата Сообщение от Gorillych Посмотреть сообщение
функция getOperationTime() должна значение типа Int куда-то вернуть, а Вы ее как void используете.
Какая разница?
DaskOFF, какая ошибка?
0
DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
31.08.2013, 22:04  [ТС] #6
Цитата Сообщение от Gorillych Посмотреть сообщение
функция getOperationTime() должна значение типа Int куда-то вернуть, а Вы ее как void используете.
так может:
C++
1
int p = allProcessors[1].getOperationTime();
там помимо методов get, есть методы set, но IDE даже подсказку не выдает
0
Somebody
2789 / 1603 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
31.08.2013, 22:07 #7
Цитата Сообщение от Gorillych Посмотреть сообщение
функция getOperationTime() должна значение типа Int куда-то вернуть, а Вы ее как void используете.
Ага, разумеется.
C++
1
std::cout << "Hello world!";
тоже нельзя, потому что оно значение возвращает. Надо
C++
1
std::ostream s = std::cout << "Hello world!";
Что, впрочем, тоже нельзя.
0
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
31.08.2013, 22:07 #8
Цитата Сообщение от DaskOFF Посмотреть сообщение
Убежденный, нет, ошибка только в 28 строке
ошибка какая?
Цитата Сообщение от DaskOFF Посмотреть сообщение
int getOperationTime();
как метод реализован покажи?
если брать
allProcessors[0].getOperationTime();
то же ошибка или нет?
0
DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
31.08.2013, 22:08  [ТС] #9
gray_fox, была ошибка, не найден метод... Теперь он все вызывает функции, но подсказки почему-то не выдает с методами в данном объекте
Причем не выдает подсказки именно для объектов, которые в векторе
Qt 5.1.0
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2013, 22:08
Привет! Вот еще темы с ответами:

Не могу вставить элемент в second(vector) мультимапа. multimap<string, vector<string>> - C++
#include &lt;iostream&gt; #include &lt;map&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include &lt;string&gt; #include &lt;iterator&gt; int main() ...

std::vector доступ по индексу vs доступ по итератору - C++
std::vector&lt;int&gt; tmp; int i = 0; tmp.resize(1000000); std::vector&lt;int&gt;::iterator it = tmp.begin(); for (int m = 0;...

Не могу понять где ошибка - Delphi
Дана матрица A(N, M). Найти ее наибольший элемент и но-мера строки и столбца, на пересечении которых он находится. Написал код, не могу...

Не могу разобраться где ошибка - JavaScript
Дано меню. По клику на определённый его пункт появляется содержание этого пункта. А у меня по клику на любой пункт появляется содержание 1...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.08.2013, 22:08
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru