diff --git a/src/OpenFOAM/containers/Lists/List/List.C b/src/OpenFOAM/containers/Lists/List/List.C index 08422fd9ba..fb6d9a0678 100644 --- a/src/OpenFOAM/containers/Lists/List/List.C +++ b/src/OpenFOAM/containers/Lists/List/List.C @@ -162,13 +162,14 @@ Foam::List::List(const UList& a, const unallocLabelList& map) { if (this->size_) { + // Note:cannot use List_ELEM since third argument has to be index. + this->v_ = new T[this->size_]; - List_ACCESS(T, (*this), vp); - List_CONST_ACCESS(T, a, ap); - List_FOR_ALL(map, i) - List_ELEM((*this), vp, i) = List_ELEM(a, ap, (map[i])); - List_END_FOR_ALL + forAll(*this, i) + { + this->v_[i] = a[map[i]]; + } } }