【发布时间】:2019-09-27 09:40:11
【问题描述】:
在下面的for循环中:
struct Block
{
Block(int d) : data(d), next(nullptr) {}
int data;
Block* next;
};
Block* aList = new Block(1);
Block* bList = new Block(2);
for (Block* a = aList, *b = bList; a != nullptr; a = a->next, b = b->next)
if (aList->data != bList->data)
cout << "Difference found.\n";
我不喜欢将 * 放在 b 之前,但当然需要区分 Block 和 Block*。还有另一种方法可以做到这一点吗? for ((Block*) a, b... 不行。
【问题讨论】:
-
不完全相同的问题,但仍然非常接近重复Declaring multiple object pointers on one line causes compiler error
-
是的,这是一个很好的观点,我已经编辑了这个问题。
-
@TopologicalSort 当您编辑问题并更改它时,请在单独的部分中进行(或者如果完全是另一个部分,则打开一个新部分 - 女巫不是这里的情况),所以相关的答案对于原来的问题,会一直这样......
-
@KorelK 不,不要那样做。我们不想要变化的时间表。我们可以在帖子的历史中看到旧的修订。 将更新整合到帖子的流程中, 就像 OP 在此处所做的那样。
标签: c++