Я попытался получить доступ к элементам класса Part
, которые являются векторными элементами типа integer внутри вектора tasks
.не могут получить доступ к элементам вектора класса
#include <iostream>
#include <vector>
using namespace std;
class Part{
vector<int> tasks;
public:
void setTasks(void);
void getTasks(void);
};
void Part::setTasks(void){
vector<int>::iterator it;
int i=1;
for (it = this->tasks.begin(); it != this->tasks.end(); ++it)
{
*it=i;
i=i+1;
}
}
void Part::getTasks(void){
vector<int>::iterator it;
for (it = this->tasks.begin(); it != this->tasks.end(); ++it)
cout<<*it<<"\t";
}
int main()
{
Part one;
one.setTasks();
one.getTasks();
return 0;
}
Я просто пытаюсь получить доступ к значениям и распечатать их, но не удалось. Ошибка компиляции отсутствует. Во время выполнения в терминале ничего не выводится. Где ошибка?
'Задачи' пуст. Вы никогда ничего не вкладывали в это. Таким образом, «setTasks» и «getTasks» ничего не делают. Какой результат вы ожидали? (Сколько предметов?) – Cameron
Ваш вектор пуст. Попробуйте дать ему размер. Например, 'vector tasks (10)'. См. [Вариант 3 в этом] (http://en.cppreference.com/w/cpp/container/vector/vector). –
Если вы хотите что-то вроде массива, но больше C++ y, вы должны взглянуть на 'std :: array'. (BTW, '(void)' - вещь C, в C++ она не нужна или не рекомендуется). – Biffen