Originally Posted by
MattJ812
ok cool this is beginning to make some sense thanks.
EDIT...incomplete type? cv-qualified void?
Incomplete type means "I don't know what this type is, exactly, yet." For instance:
Code:
class A; //this is an incomplete type: we know the name, but not what it is, yet
class B {
private:
int some_data, other_data, more_data;
static A *relevant;
};
We can declare the relevant variable here; we know A* is a type, we just don't know what it is. After we declare class A, we can then define relevant at that time. (And even if we had declared relevant to be of type A, not A*, we'd still be okay.)
(You can have a function that returns void, for instance, or accepts void; but you can't declare a variable to be of type void, is all the other part says.)