【发布时间】:2010-08-06 20:13:39
【问题描述】:
我期待下面的第二个断言通过。我正在寻求您的帮助。
编辑:当我到处都有 poss 而不是某些地方的 poss_a 时,它不起作用。
#include <vector>
#include <cassert>
class Sampler
{
public:
std::vector<int*> poss;
std::vector<int*>::const_iterator poss_it;
Sampler(std::vector<int*> poss_a) : poss(poss_a), poss_it(poss.begin())
{
assert( (poss[0]) == (*poss_it) ); //passes
}
};
int main()
{
int someInt;
std::vector<int*> poss_a(1, &someInt);
Sampler sampler(poss_a);
assert( ((sampler.poss)[0]) == (*(sampler.poss_it)) ); //passes now
return 0;
}
【问题讨论】:
-
参数名和成员名不混用怎么样?
-
如果您要编辑您的问题,请编辑它以更改变量和参数名称,以便更清楚什么是什么。
-
@Neil Butterworth -- 如果他这样做 -- 它会起作用(意思是,这是他的问题 -- 他正在用参数名称隐藏成员)
-
@Lou Quite - 我真的不知道他在这里想做什么,我已经删除了我认为我已经这样做的推测性答案。和往常一样,非常糟糕的问题得到了支持。叹息。
-
@drenami:如果在你改变它之后它失败了,你一定是不小心也改变了其他东西。我刚刚测试了代码。它会像您最初拥有的那样失败,但是当您进行我在回答中详述的更改时会通过。这是编译、运行并通过两项检查的程序的复制粘贴:pastebin.com/dPmtrm00
标签: c++ class pointers stl iterator