|
Boost Users : |
Subject: Re: [Boost-users] multi_array and variants
From: Larry Evans (cppljevans_at_[hidden])
Date: 2011-02-07 05:54:59
On 02/06/11 16:19, Alle Meije Wink wrote:
[snip]
> But now, when I try to compile this to see if I'm on the right track,
> my non-default constructor in which I specify the dimensionality d and
> dimensions dims (a vector, or an extents[]) it complains that
>
> ||=== bis, Debug ===|
> /home/amwink/programs/cpp/bis/include/bisArray.hpp|46|error: d is not a type|
> /home/amwink/programs/cpp/bis/include/bisArray.hpp|46|error: dims is
> not a type|
> /home/amwink/programs/cpp/bis/src/bisArray.cpp|7|error: redefinition
> of class bis::bisArray<T, d, dims>|
> /home/amwink/programs/cpp/bis/include/bisArray.hpp|18|error: previous
> definition of class bis::bisArray<T, d, dims>|
> ||=== Build finished: 4 errors, 0 warnings ===|
>
> The attached code segment is basically as far as I got. I'm not sure
> now if d and dims should be templated or not?
[snip]
Hi Alle,
Unfortunately, the code which you attached does not contain
the needed #includes. It would help us if you would provide
a complete code example. However, the 'not a type' errors
are because the in the CTOR:
// initialising constructor
bisArray(T, d, dims);
the last 2 arguments:
d, dims
have to type. I assume you meant:
// initialising constructor
bisArray(T, size_t a_dim, size_t* a_extents);
However, that's confusing me because that CTOR, I assume, is used
toe create one of the variant components, and that, according to:
http://www.boost.org/doc/libs/1_45_0/libs
/multi_array/doc/reference.html#multi_array
requires a compile-time value for NumDims, which, of course,
the runtime value, a_dim, is not.
So, it might help also if you provided the body of you CTOR
also to help us see what you're trying to do.
-regards,
Larry
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net