Re: template question
Mike King <emailMK@excite.com> wrote:
I'm getting the following errors. Can someone help me.
error C2327: 'Graph<N>::vertex' : is not a type name, static, or
enumerator error C2065: 'vertex' : undeclared identifier
template <unsigned int N>
struct Graph
{
struct Set {
unsigned char vertex_index[N];
unsigned char IsMarked ( );
};
vector<unsigned char> vertex;
};
template <unsigned int N> unsigned char Graph<N>::Set::IsMarked ( ) {
return IsMarked<N-1>() | vertex[ vertex_index[N] & 0x7F ];
IsMarked is not a template, IsMarked<N-1> shouldn't compile.
IsMarked is a method of Graph<N>::Set. vertex is not a member of Set.
Which instance of Graph<N> do you expect vertex member to come from?
vertex_index is an array of N elements, numbered 0 through N-1.
vertex_index[N] reference is out of bounds.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925