【发布时间】:2015-01-29 15:50:52
【问题描述】:
我试图访问Part 类的成员,它们是向量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;
}
我只是试图访问这些值并打印它们但失败了。没有编译错误。在运行时,终端中不输出任何内容。哪里出错了?
【问题讨论】:
-
tasks为空。你从来没有在里面放任何东西。所以,setTasks和getTasks都什么都不做。你期待什么输出? (有多少项?) -
你的向量是空的。尝试给它一个大小。例如,
vector<int> tasks(10)。见option 3 in this。 -
如果你想要一个类似数组的东西,但更多的是 C++y,你应该看看
std::array。 (顺便说一句,(void)是 C 的东西,在 C++ 中不是必需的,也不推荐使用。)